2012-01-10 14 views
1

メールテンプレートにapplication.cssを使用したいが、stylesheet_link_tagヘルパーにスタイルシートの完全なURLを含めてメールクライアントが正しくレンダリングできるようにする方法が見つからない。Rails 3.1にstylesheet_urlのようなものがありますか?

デフォルトでは、stylesheet_link_tagは相対パスのみを追加するため、stylesheet_link_tayにURLを使用するように指示する方法や、スタイルシートにURLを返すヘルパーがあるかどうかを知りたいと思います。

のRails 3.1は、

答えて

0

方法であなたは<link rel=stylesheet>がホットメール、GmailやYahooのような市長プロバイダーによってサポートされていないことを考えることができるためにこれがある:あなたが持っている最高のオプションがある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と資産パイプラインを使用する場合は、資産へのパスを再記述する必要がありますサス

とSASS-レール-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

よろしく

関連する問題