0

我有一个使用“nested_form”gem 的简单嵌套表单。

它看起来像这样:

<%= nested_form_for @user do |f| %>

  <%= f.text_field :username, :size => 25 %>

<%= f.fields_for :teams do |team_form| %>
  <%= team_form.label :team_name, 'Name of your team' %>

<% end %>
<%= f.submit :value =>'submit' %>
<% end %>

现在我想在我的新动作中预填充字段。虽然填充用户名字段很容易,但@user.username = "someone"我不知道如何访问嵌套“team_form”中的第一个嵌套字段“team_name”。

在 html 中,该字段如下所示:

<input id="user_teams_attributes_0_team_name" type="text" name="user[teams_attributes][0][team_name]">

任何想法如何预填充这个嵌套字段?

4

1 回答 1

2

通常build可以在您的控制器中用于此(因为它不会导致对象save上的a @userTeam ,将新实例附加到对象:teams上的集合中@user。在你的行动中

@user = User.new
@user.teams = [ Team.build(...) ]

其中...包含@user.teams.first将在嵌套表单中显示的默认属性。

于 2012-09-29T17:36:06.667 回答