我在我的rails表格中有这个代码:
Categories: <%= f.collection_select :tag_ids, Tag.order(:name), :id, :name, {}, {multiple: true} %>
此代码正常运行,但我想使用simpleform gem重新设计我的表单。但是,我似乎无法想象如何将此代码“转换”为简单形式。任何人都知道如何?感谢。
答案 0 :(得分:2)
这样的事情可以解决问题:
如果您有多对多关系,您可以先尝试默认操作。
<%= f.association :tags %>
如果默认设置不能解决,您可以进行明确的收集:
<%= f.input :tag_ids, as: :select, collection: Tag.order(:name), label_method: :name, input_html: {multiple: true} %>
# or
<%= f.input :tag_ids, as: :select, collection: Tag.order(:name).pluck(:name, :id), input_html: {multiple: true} %>
或者,如果您定义 Tag#to_label 方法,则不必传递标签方法的名称。 标记#id 用作默认值方法。如果您想要其他值,请指定如下方法:value_method: :something_else
。
请参阅simple_form Usage section(介绍,收藏和关联)。