我是 Rails 菜鸟,从显示页面发送电子邮件时遇到问题。那里有几个联系表格教程,但我找不到一个从“显示”页面之类的页面发送电子邮件的地方。我相信我的路线有很大的错误。在模型中,我声明用户有多个促销,并且在促销显示页面上,我希望允许 current_user 向@user 发送电子邮件。
这里是 app/mailers/quote_mailer.rb
class QuoteMailer < ActionMailer::Base
default :from => "tim@example.com"
def quote_mail(promotion)
@user = user
mail(:to => user.email, :subject => "You have an inquiry homeboy!")
end
end
在promotions_controller 我把这个动作我认为可能是错误的:
def quotedeliver
QuoteMailer.quote_mail.deliver
flash[:notice] = 'report sent!'
redirect_to root_path # or wherever
end
这是我用来发送电子邮件的表格(:url 可能是错误的,但我不知道它应该是什么样子)
<%= form_for quote_mail, :url => quotedeliver_promotion_path(promotion), :html => {:method => :put } do |f| %>
<%= f.text_area :body %>
<%= f.submit %>
<% end %>
我很想得到一些帮助。我在stackoverflow上找不到类似的东西,我已经尝试了好几天。谢谢!