Vì vậy, tôi đang sử dụng simple_form để tạo biểu mẫu của tôi, đây không phải là yêu cầu.Tôi làm cách nào để sử dụng collection_check_boxes với một mảng?
Điều tôi đang cố gắng làm là sử dụng simple_forms collection_check_boxes và chuyển cho nó một mảng.
Tôi đang lưu trữ thẻ của tôi trong configatron:
configatron.tags = [{:name => "wheels", :tagtype => "property"}, {:name => "roof", :tagtype => "property"}, {:name => "doors", :tagtype => "property"}]
Đây là mô hình Tag của tôi:
class Tag
include Mongoid::Document
embedded_in :taggable, polymorphic: true
field :name
field :tagtype
end
Dưới đây là những gì tôi đã cố gắng:
<%= f.collection_check_boxes :tags, @tags, @tags.map{|tag| tag.name}, @tags.map{|tag| tag.name} %>
nơi @tags
là đặt thành configatron.tags
trong bộ điều khiển
Tôi chỉ muốn làm cho collection_check_boxes hoạt động và sau đó on before_save xây dựng thẻ và nhúng nó vào tài nguyên hiện tại.
Tôi đã đọc ở đâu đó mà bạn có thể ánh xạ vào bộ sưu tập được chuyển vào và chọn nội dung của một mục của bộ sưu tập đó. Nếu tôi làm đúng, hãy ghi đè giá trị value_method? Dường như bạn không thể nhớ cách bạn có thể làm điều này. Tôi cũng muốn chuyển các thẻ hiện tại của tài nguyên này :collection => resource.tags
để các thẻ này được chọn khi hiển thị.
Có cách nào để thực hiện việc này không? Làm thế nào tôi sẽ thao tác form_builder để làm điều này có thể, nếu vậy, làm thế nào? Tôi có nên thực hiện một cách tiếp cận khác không?
Sidenote: Chức năng này cũng hoạt động với xương sống, ở một số nơi xương sống sẽ được sử dụng để thêm thẻ.