我有一个 Comments 控制器,用于其他 2 个控制器(任务和票证)。
一旦创建评论以通知他们票证已更新,我正试图让它通过电子邮件发送给票证的所有者。
def create
@comment = Comment.new(params[:comment])
@comment.user_id = current_user.id
@user = User.find_by_id(params[:ticket_owner])
if @comment.save
TicketMailer.comment_update(@user).deliver
我在门票显示页面的评论中有一个隐藏字段
<%= simple_form_for(@comment, :html => { :class => 'form-vertical' }) do |f| %>
<%= f.hidden_field :record_id, :value => @ticket.id %>
<%= f.hidden_field :ticket_owner, :value => @ticket.user_id %>
我已经尝试了所有可能的组合到我的 noob rails 知识,这是我所拥有的最接近的组合。
NoMethodError in CommentsController#create
undefined method `email' for nil:NilClass
如果我通过@user = current_user,我可以让它通过电子邮件发送我自己的用户名,但这不是目的。