0

我正在努力邀请新用户。在 UI 中,我使用 J 查询添加文本框,以允许用户输入许多名称和相应的电子邮件 ID。提交时,我只想访问控制器中的所有名称和电子邮件(多个值)。现在我只需要帮助。有没有一种方法可以创建具有相应名称的值的哈希值,并且 emil 一些类似的东西。{"name1" => "eamil1","name2" => "eamil2" } ...

请帮我解决这个问题。

4

2 回答 2

0

使用 Javascript 代码,您应该生成一些 HTML 输入,例如:

<input type="text" name="invited_persons[0][name]" />
<input type="email" name="invited_persons[0][email]" />

<input type="text" name="invited_persons[1][name]" />
<input type="email" name="invited_persons[1][email]" />

由于用作范围的数字,生成的params将如下所示:

{
  'invited_persons' => {
    '0' => {
      'name' => 'foo',
      'email' => 'foo@foo.foo'
    },
    '1' => {
      'name' => 'bar',
      'email' => 'bar@bar.bar'
    }
  }
}
于 2013-01-29T08:29:13.010 回答
0

您可以使用“fields_for”标签并传递一个名称,后跟 [],如下所示构建的表单将发送一个哈希值数组。

<%= fields_for :"names[]", User.new do |builder| %>
    <%=builder.text_field :name%>
    <%=builder.text_field :name%>
    <%=builder.text_field :name%>
    <%=builder.submit%> 
<% end %>

在提交由上述代码生成的表单时,参数哈希将包含 names= [ {"name"=> "..."}, {"name" => "..."}, {"name" => “...”}]

于 2013-01-29T09:02:20.457 回答