Ruby on rails Rails表单:如何在一个数组中存储两个文本字段
在rails和许多在线教程中,我看到了这个例子Ruby on rails Rails表单:如何在一个数组中存储两个文本字段,ruby-on-rails,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3.2,在rails和许多在线教程中,我看到了这个例子 <div class="field"> <%= f.label :first_name %><br /> <%= f.text_field :first_name %> </div> <div class="field"> <%= f.label :last_name %><br /> <%= f.text_field :last_name
<div class="field">
<%= f.label :first_name %><br />
<%= f.text_field :first_name %>
</div>
<div class="field">
<%= f.label :last_name %><br />
<%= f.text_field :last_name %>
</div>
有没有一种方法可以使用text_field或另一个form属性将两个输入存储在一个数组中,这样就可以得到如下结果:
"name"=>["foo", "bar"]
这不是首选的方法,但很想知道如何做到这一点
更新
在您的示例中,您将@user.first_name和.last_name作为值传递。我想的更多的是这样的:
<div class="field">
<%= f.label "First Name" %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label "Last Name" %><br />
<%= f.text_field :name %>
</div>
如果没有
@user.first\u name
但@user.name[0]
,则可以使用文本字段标记来实现此目的。(文件:)
一个简单的例子如下所示:
text_field_tag 'name[]', @user.first_name
text_field_tag 'name[]', @user.last_name
这将在name
参数下发送两个名称。您可以使用控制器中的params[:name]
访问数组。在控制器中,您可以像name=[params[:first\u name]、params[:last\u name]]这样组合它们。
text_field_tag 'name[]', @user.first_name
text_field_tag 'name[]', @user.last_name