0

私は2つのフォームを持っています.1つのフォームcheck_box_tagで作成したいのですが、同じアイテムをチェックした場合、このアイテムは隠しフィールドタグの別のフォームに入れられ、別のフォーム値を保存すると、このアイテムはデータベースに保存されます.

私からしてみれば

<% for item in @items %>
  <%= check_box_tag "items[#{item.id}]", item.id, :name => "items[]" %>    
<% end %>

<% form_for(@feedback ) do |f| %>

<%= f.hidden_field :item_value %> #this is field in which I want put from one form

<%= f.label :name, "Name" %></td>
<%= f.text_field :name, :style => "width:100%" %>

<%= f.label :phone, "Phone" %>
<%= f.text_field :phone, :style => "width:100%" %>

<%= f.label :email, "Email" %>
<%= f.text_field :email, :style => "width:100%" %>

<%= f.submit "Submit" %>

<% end %>

私のコントローラーで

...
@item = Item.find(:all)
@feedback = Feedback.new(params[:feedback])

email = ApplicationMailer.create_feedback_rez(@feedback)
email.set_content_type("text/html; charset=utf-8")
ApplicationMailer.deliver(email)

@feedback.save
...

どうすればいいですか?

アドバイスをありがとう!

4

2 に答える 2

0

データベース関係を設定すると、より多くのメリットが得られるように思えます。フィードバックが has_many の項目を持つ関係を作成するのはどうですか? 次に、フォームをそのままにして、チェックボックス フォームにアイテム テーブルのデータベース レコードを保存させ、それを ID でフィードバック テーブルにリンクさせることができますか? 最初に隠しタグを使用したかった理由によっては、このようにすれば必要ない場合もあります。これが探しているものではない場合は、もう少し詳しく教えてください。何を達成しようとしていますか? あなたのコードは何をしますか?

于 2013-09-30T13:19:41.673 に答える
0

あなたが話していることは、ネストされたフォームと呼ばれます。これは、それらを操作するための良い リンクです。レール-4/

于 2013-09-30T15:01:35.130 に答える