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 %>
또는 단지 :
이undefined method `id' for "Option\t1":String
내 허가 매개 변수가 이미 option: []
<%= f.collection_check_boxes :option, Tutorial::TYPES, :id, :name %>
내가 오류
누군가 이전에 그렇게 했나요?
감사합니다. 세 번째 옵션 값 property
을 설정이라고하는 방법이며, 두 번째 모음이다
collection_check_boxes(method, collection, value_method, text_method, options = {}, html_options = {}, &block)`
첫번째 전송하는 방법으로서, 제 4가이다
하지만 'Tutorial.all'을 사용하면 모델에서 쿼리를 수행합니다. 이것은 내가하고 싶지 않은 것입니다. 내가 필요한 것은 'select'도우미를 사용할 때처럼 배열에서 호출하는 것입니다 : <% = f.select (: lang, options_for_select (User :: LANGS, @ user.lang), {}, {}) %> –
@FernandoAureliano 좋아, 두 개의 마지막 요소는 콜렉션의 각 요소에서 호출하는 메소드이기 때문에': id'와': name'이 아니어야합니다. 그래서': id'와': id'를 호출하려고합니다. name'을''Option 1 ': String'으로 설정하면됩니다. 키 또는 값이 인덱스 인 곳에서'TYPES'을 해쉬로 바꿀 수 있습니다 :'<% = f.collection_check_boxes : option, Tutorial :: TYPES, : key, : value %>'. –
[1, '옵션 1'], [2, "옵션 2"], [3, "옵션 3"]]'같은 배열을 사용하여 [1, '에 대해'정의되지 않은 메소드 키 ' –