【发布时间】:2017-06-30 11:53:11
【问题描述】:
我构建了一个 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 %>
谁能告诉我我的代码有什么问题? 谢谢。
【问题讨论】:
标签: ruby-on-rails actionmailer helper