3

別のモデルのインスタンスに応じて動的に作成される複数のtext_field_tagsがあるフォームを作成できる必要があります。これらのtext_field_tagsに入力された値を、フォームが送信されたときにコントローラーのパラメーターとしてアクセスできるのと同じ配列に格納できるようにしたいと思います。これは可能ですか?

4

1 に答える 1

17

それらにすべて同じ名前を付け、次のように末尾に[]を追加する場合:

 <%= text_field_tag "some_fields[]" %>
 <%= text_field_tag "some_fields[]" %>
 <%= text_field_tag "some_fields[]" %>

コントローラからこれらにアクセスできます。

  some_fields = params[:some_fields] # this is an array

角かっこで囲まれた値を入力すると、railsはそれをハッシュとして表示します。

 <%= text_field_tag "some_fields[1]" %>
 <%= text_field_tag "some_fields[2]" %>
 <%= text_field_tag "some_fields[3]" %>

コントローラによって、キー「1」、「2」、および「3」を持つハッシュとして解釈されます。

于 2012-08-30T00:56:12.450 に答える