2011-12-19 314 views
2

同じものの複数の入力フィールド、Postsがあるページがあります。今、ユーザーが3つのフィールドを入力すると、データベースに保存されているのは最後のフィールドだけです。一方、それは3つすべてを保存し、それぞれにそれ自身のpost_idを与える必要があります。また、ユーザーが他のフィールドに何も入力しない場合は、データベースに保存しないでください。Ruby on Rails:同じフォーム内の複数の同じ入力フィールド

<%= form_for(@post) do |f| %> 
    <%= f.text_field :content %> 
    <%= f.text_field :content %> 
    <%= f.text_field :content %> 
<% end %> 
+1

1つのフォームから3つのユニークな投稿を作成したいですか? – chief

+1

チーフ - そうですね。または私はそれぞれのための新しいフォームを作成する必要がありますか?同じビューページに3つのフォームを表示しますか? –

答えて

4

あなたは上記の持っていることは同じ名前/ IDであなたにhtmlのフィールドを評価し、ブラウザだけでそれらのいずれかの値を掲載しますので、それが失敗しています。あなたはこれらのはポストのを設定するようにしたい場合は、

<%= f.text_field_tag 'content_array[]' %> 

のか:彼らは異なるフィールドがある場合は、それらを使用すると、配列などとしてそれらを作成する必要があり、固有の名前/ IDS またはを与える必要が - カスタムフォームを使用して複数のサブフォーム(各投稿に1つずつ)を追加する必要があります。

+0

私はshow.htmlでどのように表示することができるのか、あなたの提案に従っています。私のshow.htmlは 'content_array []'を認識しません –

+0

あなたが試したコードとあなたが持っているエラーメッセージを表示します(上記の答えを編集してそれを入れてください)。 –

+1

小さな修正です。ブラウザは、すべての異なるフィールドを投稿します。しかし、rails paramsパーサーは姓の値を使用します。これはあなたのレールコードの 'request.body'を調べることで確認できます。 –

関連する問題