如何将params从form_for拉入字符串而不设置为Object

时间:2014-06-24 21:40:02

标签: ruby-on-rails actionmailer

我正在尝试在<input>中提取form_for个字段的所有值,并用它们填充字符串。我不想做form_for @instance_variable,因为我不想将params作为Object的初始化提交。

如果你想知道我为什么要做这个看似倒退的事情,我试图在视图中有一个表单,获取所有输入值,将其放入一个字符串,并使用该字符串作为正文将通过Mailer发送的电子邮件。

1 个答案:

答案 0 :(得分:1)

我的推荐将是这样的:

<%= form_tag foobar_path do %>
  <p>
    <%= label_tag :email %><br />
    <%= text_field_tag :email, params[:email] %>
  </p>
  <p>
    <%= label_tag :another_field %><br />
    <%= text_field_tag :another_field, params[:another_field] %>
  </p>
  <%= submit_tag "Submit"%>
<% end %>

然后在您的控制器中执行以下操作:

def foobar
    Mailer.send_something(params[:email],params[:another_field]).deliver
end

有没有理由说这不起作用,你真的需要创建一个对象的实例?