用户可以回复他们收到的反馈。这是表格:
<%= form_for :feedback, :url => reply_feedback_path do |f| %>
<%= f.text_area :reply, :size => '66x7' %><br>
<%= f.submit "Reply" %>
<% end %>
这是控制器:
@reply = params[:feedback]
UserMailer.reply2_comments(@to_whom, @from_whom, @reply).deliver
如果有人在文本框中输入'yo',那么传递给邮件的内容是'{“reply”=&gt;“yo”}'
我在语法上遇到问题,只能提取输入的内容。
感谢。
答案 0 :(得分:2)
看起来您正在将哈希传递给邮件程序,而您只需要键“回复”的值。所以试试:
@reply = params[:feedback] || {}
UserMailer.reply2_comments(@to_whom, @from_whom, @reply['reply']).deliver
我在这里更改的主要内容是在邮件程序调用中将@reply
更改为@reply['reply']
(我还在第一行添加了一个零检查,以确保@reply ['reply']不会导致错误,如果他们不通过正常方式提交表单)