0
ある定数からcollection_check_boxesをシリアル化する方法はありますか?Rails4:配列からのcollection_check_boxes
# model
class tutorial < ActiveRecord::Base
serialize :option
TYPES = ["Option 1", "Option 2", "Option 3"]
end
# view
<%= form_for(@tutorial) do |b| %>
<%= f.collection_check_boxes(:option, Tutorial::TYPES, :id, :name) do |b| %>
<%= b.label class:"label-checkbox" do%>
<%=b.check_box + b.text%>
<%end%>
<% end %>
<% end %>
それとも:
<%= f.collection_check_boxes :option, Tutorial::TYPES, :id, :name %>
私はそれの両方をしようとすると、私はエラーを取得する:
undefined method `id' for "Option\t1":String
私の許可パラメータがすでにoption: []
誰かが前にそのようなことをしましたか?
ありがとうございます!
しかし、 'Tutorial.all'を使用して、私はモデルからクエリを実行します。これはまさに私がしたくないことです。 <%= f.select(:lang、options_for_select(User :: LANGS、@ user.lang)、{}、{})ヘルパーを使用するときと同じように、配列から呼び出す必要があります。 %> –
@FernandoAureliano大丈夫なのですが、最後の2つの要素は ':id'と':name'ではいけません。コレクションの各要素で呼び出すメソッドなので、 ':id'と':id'を呼び出そうとしています。 ''オプション1 ":文字列'の上に 'name' 'TYPES'をキーまたは値がインデックスであるところのハッシュに変更することができ、そのように使うことができます:' <%= f.collection_check_boxes:option、Tutorial :: TYPES、:key、:value%> '。 –
[1、 "オプション1"]、[2、 "オプション2"]、[3、 "オプション3"]] 'のような配列を使用して[1、 –