所以我使用simple_form來構建我的表單,但這不是一個需求。如何在數組中使用collection_check_boxes?
我想要做的是使用simple_forms collection_check_boxes並傳遞給它一個數組。
我保存我的標籤configatron:
configatron.tags = [{:name => "wheels", :tagtype => "property"}, {:name => "roof", :tagtype => "property"}, {:name => "doors", :tagtype => "property"}]
這裏是我的標籤型號:
class Tag
include Mongoid::Document
embedded_in :taggable, polymorphic: true
field :name
field :tagtype
end
這裏是我試過:
<%= f.collection_check_boxes :tags, @tags, @tags.map{|tag| tag.name}, @tags.map{|tag| tag.name} %>
其中@tags
是設置爲configatron.tags
in controller
我只是想讓collection_check_boxes工作,然後在before_save上構建標籤並將其嵌入到當前資源中。
我讀過的地方,你可以映射到傳入的集合,並選擇該集合的項目的內容。如果我理解正確,覆蓋value_method? 似乎無法記住你是如何做到這一點的。我還想傳入此資源的當前標記:collection => resource.tags
,以便在呈現時檢查這些標記。
有沒有辦法做到這一點?如何操作form_builder來實現這一點,如何實現?我應該採取另一種方法嗎?
旁註:該功能也應該與主幹一起工作,在某些地方骨幹將用於添加標籤。