2014-02-12 61 views
1

我有一個Rails 3應用程序,我試圖從一個表單創建多個db記錄。如何在form_tag塊中創建自定義散列

我有一個模型,內容,作爲身體和身份證的屬性。我有一個視圖,它顯示一個列出所有記錄的表單,並在其旁邊放置一個複選框(並將值設置爲true/checked)。用戶可以選擇取消選擇他們不想要的內容記錄。

<%= form_tag 'contents' do %> 
    <% @contents.each do |content| %> 
    <%= label_tag content.body %> 
    <%= check_box_tag content.id, content.body, true %> 
    <% end %> 
    <br /> 
    <%= submit_tag "Next" %> 
<% end %> 

當這種形式的壺,我得到PARAMS,看起來像這樣:

{"utf8"=>"✓", 
"authenticity_token"=>cooltoken", 
"1"=>"asdfasfdf", 
"2"=>"asdfasdf adf", 
"3"=>"asdf asdf asdf", 
"commit"=>"Next", 
"action"=>"create", 
"controller"=>"contents"} 

但我要的是params散列,看起來像這樣:

{"utf8"=>"✓", 
"authenticity_token"=>"cooltoken", 
'user_selections' => { 
         "1"=>"asdfasfdf", 
         "2"=>"asdfasdf adf", 
         "3"=>"asdf asdf asdf", 
        } 
"commit"=>"Next", 
"action"=>"create", 
"controller"=>"contents"} 

我如何將內容信息推入它自己的散列(我稱之爲上面的'user_selection'散列)?

回答

2

試試這個:

<%= check_box_tag content.id, content.body, true, { name: "user_selections[#{content.id}]" } %> 
+0

這會做到這一點!非常感謝你。 –