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 %>

ここで、新しいアクションのフィールドを事前に入力します。username-fieldに入力するのは簡単@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@userコレクションに新しいTeamインスタンスを追加します。あなたの行動で:teams@user

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

ここに、ネストされた形式で表示される...デフォルトの属性が含まれています。@user.teams.first

于 2012-09-29T17:36:06.667 に答える