2017-06-30 9 views
0

私はActionMailerを構築しました。ActionMailerがヘルパーにアクセスできない

今私はヘルパーを設定し、私のcontact_mailer.html.erbで使用しようとしています。 エラーは発生しませんが、メールは送信されていません。

以下のように私のapplication_mailer.rb

class ApplicationMailer < ActionMailer::Base 
    helper :application 
    default from: 'Customer Service<[email protected]>' 
    layout 'mailer' 
end 

マイcontact_mailer.rb

class ContactMailer < ApplicationMailer 
    def order_notice(order) 
    @order = order 
    mail(to: @order.email, subject: 'Your order has been placed') 
    end 
end 

マイapplication_helper.rbで:

module ApplicationHelper 

    def item_price_in_euro(price) 
    @ratio_id = session[:ratio] 
    @money_ratio = MoneyRatio.find(@ratio_id).ratio 
    @eur_ratio = MoneyRatio.find(@ratio_id = 2).ratio 

    ((price/@money_ratio)*@eur_ratio).to_i 
    end 

end 

は、私は、この方法を試した他、通常のビューテンプレートでitem_price_in_euro(price)、それが動作します。しかし、私がcontact_mailer.html.erbで使用すると、何も起こりません。ここに私ですcontact_mailer.html.erb

<% @order.product_items.each do |item| %> 
    <%= item_price_in_euro(item.price) %> #<%= item.price %> works well. 
<% end %> 

誰かが私のコードに間違いを教えてもらえますか? ありがとうございます。

答えて

0

これをメーラーファイルに追加すると、役立つはずです。

add_template_helper ApplicationHelper 
+0

私が提供した方法を試してみましたが、うまくいかなかったのです。問題は私のヘルパーメソッドかもしれないと私はそれを修正しようとしていると思う。 – lkwu

関連する問題