在Rails 3.1上有没有类似stylesheet_url的东西?

问题描述:

我想在我的电子邮件模板上使用application.css,但我找不到一种方法让stylesheet_link_tag helper包含样式表的完整url,以便电子邮件客户端可以正确呈现。在Rails 3.1上有没有类似stylesheet_url的东西?

默认情况下,stylesheet_link_tag只会添加相对路径,所以我想知道是否有办法告诉stylesheet_link_tay使用url,或者是将url返回给样式表的帮助程序。

这是为Rails 3.1,顺便

你可能认为<link rel=stylesheet>不是由市长提供商如Hotmail,Gmail和雅虎支持:http://www.campaignmonitor.com/css/

,你所拥有的最好的办法是在您的身体或标题中使用<styles>标签;甚至更丑陋,使用内联样式,这是今天的大多数电子邮件客户端所支持的。

Google Mail特别在电子邮件中的任何位置查找STYLE并(有用地)删除它。而且不用费心使用CSS LINK来处理样式表。 Google Mail,Hotmail和其他电子邮件软件忽略,修改或删除对样式表的这些外部引用。

http://www.reachcustomersonline.com/2011/12/21/09.27.00/

的Rails 3.1使用资产的管道。如果您正在使用资产管道,那么您需要在application.css中提及这些资产。例如,在application.css

/* 
* *application.css 
*= require scaffold 
*= require pagination 
*= require_self 
*= require_tree. 
*/ 

在上述支架和分页应该是下RAILS_ROOT /应用/资产/样式表ditrectory。欲了解更多信息,请查看http://guides.rubyonrails.org/asset_pipeline.html

或者,如果资产管道不是你的问题,那么检查这个电子邮件的HTML电子邮件。 http://railscasts.com/episodes/312-sending-html-email?view=asciicast

您可以通过使用

config.action_controller.asset_host = “http://www.yourdomainFORassets.com”

环境中的配置文件指定资产的完整路径

你最好小心CSS文件中的图片URL,我不得不将所有的东西都移动到 这种方式来使用现有的代码,检查http://guides.rubyonrails.org/asset_pipeline.html 特别与这部分:

2.2.2 CSS和萨斯

当使用资产管线,路径资产必须重新编写和青菜-Rails提供-url和-path佣工(在萨斯复姓,在Ruby中强调)以下资产类别:图片,字体,视频,音频,JavaScript和样式表。

image-url("rails.png") becomes url(/assets/rails.png) 
image-path("rails.png") becomes "/assets/rails.png". 

的更通用的形式也可以使用,但资产路径和类都必须被指定:

asset-url("rails.png", image) becomes url(/assets/rails.png) 
asset-path("rails.png", image) becomes "/assets/rails.png" 

http://guides.rubyonrails.org/asset_pipeline.html#in-production

问候