私は Rails を初めて使用し、ActionMailer から呼び出されたときにヘルパー モジュールが機能しない理由を理解するのに苦労しています。別のパーシャルから同じメソッドを呼び出していますが、正常に動作します。問題はメソッドではなく、私のセッション変数 (session[:geo]) です。「undefined method `session'」と表示されます。
これが私のコードです。どんな提案でも大歓迎です
products_helper.rb
def isUserLocal?
session[:geo] #true or false
end
def itemTotalPrice(item)
if self.isUserLocal?
item.line_item_us_total_price
else
item.line_item_w_total_price
end
end
注文通知 - ActionMailer
class OrderNotifier < ActionMailer::Base
helper :Products #helpers are not available in ActionMailers by default
received.html.erb
<%= render @order.line_items -%>
_line_items.html.erb
number_to_currency(itemTotalPrice(line_item))