从params [:form]中提取所需内容

时间:2011-07-01 16:01:15

标签: ruby-on-rails-3 forms

用户可以回复他们收到的反馈。这是表格:

    <%= 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”}'

我在语法上遇到问题,只能提取输入的内容。

感谢。

1 个答案:

答案 0 :(得分:2)

看起来您正在将哈希传递给邮件程序,而您只需要键“回复”的值。所以试试:

@reply = params[:feedback] || {}
UserMailer.reply2_comments(@to_whom, @from_whom, @reply['reply']).deliver

我在这里更改的主要内容是在邮件程序调用中将@reply更改为@reply['reply']

(我还在第一行添加了一个零检查,以确保@reply ['reply']不会导致错误,如果他们不通过正常方式提交表单)