ActionMailer无法访问帮助程序

时间:2017-06-30 11:53:12

标签: ruby-on-rails actionmailer helper

我构建了一个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 %>

有人能告诉我我的代码有什么问题吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

将此添加到您的邮件程序文件中,它应该会有所帮助。

add_template_helper ApplicationHelper