2012-01-10 68 views
1

我想在我的電子郵件模板上使用application.css,但我找不到一種方法讓stylesheet_link_tag helper包含樣式表的完整url,以便電子郵件客戶端可以正確呈現。在Rails 3.1上有沒有類似stylesheet_url的東西?

默認情況下,stylesheet_link_tag只會添加相對路徑,所以我想知道是否有辦法告訴stylesheet_link_tay使用url,或者是將url返回給樣式表的幫助程序。

這是爲Rails 3.1,順便

回答

0

你可能認爲<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/

0

的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

0

您可以通過使用

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

問候

相關問題