2012-01-27 12 views
1

私はhaml(3.1.4)の電子メールを持つアプリケーション(rails 3.2)を持っています。電子メールテンプレートでは、私は、のlink_toを使用していたが、どうやら、これら4はいずれも生産に作業していない:rails 3.2 haml emailテンプレートlink_toエラー

No route matches {} 
actionpack (3.2.0) lib/action_dispatch/routing/route_set.rb:503:in `raise_routing_error' 
:モードすべてがうまく動作しますが、本番では、私は次のエラーを得続ける
#{link_to(my_models_url)} 
= link_to(my_models_url) 

/@url set to my_models_url 
#{link_to(@url)} 
= link_to(@url) 

開発に

私は前にヘルパー・メソッドを使用する場合には動作します:

/ @my_link set to link_to(my_models_url) 
#{@my_link} 
= @my_link 

しかし、そこに多くのリンクが電子メールであり、一般的に、私はモミの理由をいずれも表示されない場合、これは、便利ではありませんst 4のオプションは大丈夫ではありません。私はこの問題がどこから来ているのか分かりません。

  1. すべて{リソース} _pathと{リソース}が設定する必要が_url:私の問題はなかったところ私が見つけたiWasRobbedに

    ありがとう:私は...

    SOLUTIONをこの上の任意の助けをいただければ幸いです@variablesのようなメーラーでは、メーラービューでは利用できません。

  2. メーラーのlink_to()メソッドは、レールビューと同じではありません。常にlink_to(@link)の代わりに2つの引数が必要です。ビュー、link_to(@ link、@ link)を行う必要があります。 Pffff ...

答えて

0

mailer.rbファイル内のURLを宣言する必要があります。これはHAMLの問題ではなく、ActionMailerの設計と同じです。

あなたが行うことができますあなたのメーラービューで次に
def some_mailer_here 
    @url = my_models_url 
end 

:答えを

= link_to("My models URL", @url) 

http://guides.rubyonrails.org/action_mailer_basics.html#generating-urls-in-action-mailer-views

+0

感謝。私は生産上の私の問題を解決しましたが、私はまだ質問があります:http://stackoverflow.com/questions/9039970/helper-methods-available-in-mailer-views-depend-on-environment。あなたはおそらくこの答えも知っていますか? – santuxus

関連する問題