Quindi sto usando simple_form per compilare i miei moduli, anche se questo non è un requisito.Come utilizzare collection_check_boxes con una matrice?
Quello che sto cercando di fare è usare simple_forms collection_check_boxes e passargli una matrice.
sto Memorizzazione miei tag configatron:
configatron.tags = [{:name => "wheels", :tagtype => "property"}, {:name => "roof", :tagtype => "property"}, {:name => "doors", :tagtype => "property"}]
Ecco il mio modello Tag:
class Tag
include Mongoid::Document
embedded_in :taggable, polymorphic: true
field :name
field :tagtype
end
Ecco che cosa ho provato:
<%= f.collection_check_boxes :tags, @tags, @tags.map{|tag| tag.name}, @tags.map{|tag| tag.name} %>
dove @tags
è impostato su configatron.tags
nel controller
Voglio semplicemente far funzionare la collection_check_boxes e poi su before_save compilare il tag e incorporarlo nella risorsa corrente.
Ho letto da qualche parte che è possibile mappare nella raccolta passata e selezionare il contenuto di un oggetto di quella raccolta. Se ho capito bene, scavalca il valore_metodo? Non riesco a ricordare come si possa fare questo però. Voglio anche passare i tag correnti di questa risorsa :collection => resource.tags
in modo che questi tag vengano controllati durante il rendering.
C'è un modo per farlo? Come modifico il form_builder per renderlo possibile, se sì, come? Dovrei prendere un altro approccio?
Sidenote: questa funzionalità dovrebbe funzionare anche con il backbone, in alcuni punti il backbone verrebbe utilizzato per aggiungere tag.