Ruby on Rails:同じフォーム内の複数の同じ入力フィールド

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

<%= form_for(@post) do |f| %>
  <%= f.text_field :content %>
  <%= f.text_field :content %>
  <%= f.text_field :content %>
<% end %>
2
チーフ - そうですね。または私はそれぞれのための新しいフォームを作成する必要がありますか?同じビューページに3つのフォームを表示しますか?
追加された 著者 James F,
1つのフォームから3つのユニークな投稿を作成したいですか?
追加された 著者 chief,

1 答え

あなたが上に持っているものは同じ名前/ id でhtmlフィールドに評価され、ブラウザはそれらのいずれかの値をポストするだけなので失敗します。フィールドが異なる場合は、配列として作成する必要がある一意の名前/ ID またはを与える必要があります。

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

または、これらを集合の投稿にしたい場合は、カスタムフォームを使用して複数のサブフォーム(各投稿に1つ)を追加する必要があります。

4
追加された
私はshow.htmlのビューをどのように表示することができるのか、あなたの提案に従っています。私のshow.htmlは 'content_array []'を認識しません
追加された 著者 Calvin Jones,
私にあなたが試したコードとあなたが持っているエラーメッセージを表示してください(あなたの答えを編集してそこに入れてください)。
追加された 著者 Taryn East,
知っておいて良かった:)
追加された 著者 Taryn East,
小さな修正。ブラウザは、すべての異なるフィールドを投稿します。しかし、rails paramsパーサーは姓の値を使用します。これを確認するには、railsコードの request.body を調べます。
追加された 著者 Khaja Minhajuddin,