Rails(3.2.5とruby 1.9.3)とmongodbとmongoidを使用しています。ユーザーに平日をチェックするオプションを提供したいと思います。したがって、コントローラーにハッシュタイプのフィールドがあります。
field :wochentage, :type => Hash, default: { :mo => 0,
:di => 0,
:mi => 0,
:dn => 0,
:fr => 0,
:sa => 0,
:so => 0
}
問題は、これをWebフォームで機能させることができないことです。
<% for d,v in @timetable.wochentage %>
<td><%= f.check_box :wochentage[d]%></td>
<% end %>
私が得るエラーは次のとおりです。
シンボルを整数に変換できません
誰かが私を正しい方向に向けてくれませんか?よろしくお願いします、スヴェン
OK、もう少し進んでください:fields_forフォームヘルパーで私は近づきました:
<%= f.fields_for :wochentage do |w| %>
<td><%= w.check_box :mo %></td>
<td><%= w.check_box :di %></td>
<td><%= w.check_box(:mi, checked_value: "1", unchecked_value: "0") %></td>
<td><%= w.check_box :dn %></td>
<td><%= w.check_box :fr %></td>
<td><%= w.check_box :sa %></td>
<td><%= w.check_box :so %></td>
<% end %>
このコードで平日を設定できます。しかし、正しく保存されていても編集したい場合は、DBから読み取れません。Wochentage: {"mo"=>"0", "di"=>"0", "mi"=>"1", "dn"=>"0", "fr"=>"0", "sa"=>"0", "so"=>"0"}
編集フォームでは、すべてのチェックボックスがオフになっています。では、チェックボックスを正しいステータスで表示するにはどうすればよいですか?
ありがとう、S