0

長い間検索した後、選択したチェックボックスの値をレールに最​​適に保存する方法に関する情報を見つけることができません。

私は次のようなことをします:

  = form_for @profile, :url => request.fullpath, :method => :get,  :html => { :class => 'form-  horizontal' } do |f|
      - @contacts.each do |contact|
        = check_box_tag "contact[#{ contact.slug }]", contact.id, true
        //= label_tag "contact[#{contact.id}]", contact.slug
     = f.submit t('forms.go')

フォーム送信時に、これは私にパラメータを与えます:

Parameters: {"utf8"=>"✓", "contact"=>{"1"=>"bladadie", "2"=>"jolanteds03",
    "3"=>"jannie6674", "4"=>"henriette1305",
    "5"=>"amy6456", "6"=>"jacquelyn9001", "7"=>"florencio4872",
    "8"=>"angel410", "9"=>"rita558", "10"=>"chadd2684", "11"=>"ilene8219",
    "12"=>"sonny664", "13"=>"monique7912", "14"=>"merritt28103744",
    "15"=>"sunny80771258", "16"=>"lavinia31942066", "17"=>"jada29655747",
    "18"=>"johan16227289", "19"=>"cristobal9746087",
    "20"=>"meggie3447530"}, "commit"=>"Go »"}

チェックされたチェックボックスの値を正しく保存するにはどうすればよいですか?

これに関する情報が見つかりません。誰かが光を当てることができることを願っています!

4

1 に答える 1

2

あなたの例では、パラメータを反復処理できます:

params.each do |key, value|
   contact.create(:id => key, :slug => value
end

作成すると、それらが自動的に保存されます。

于 2012-10-24T20:36:14.483 に答える