我构建了一个ActionMailer,效果很好。
现在我正在配置帮助程序并尝试在我的contact_mailer.html.erb
中使用。
它不会引发错误,但邮件尚未发送。
在我的application_mailer.rb
class ApplicationMailer < ActionMailer::Base
helper :application
default from: 'Customer Service<service@example.com>'
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 :(得分:0)
将此添加到您的邮件程序文件中,它应该会有所帮助。
add_template_helper ApplicationHelper