在 collection_select 表单中使用 acts-as-taggable-on
Using acts-as-taggable-on in a collection_select form
我有一个带有标签的模型电影,使用 gem acts_as_taggable_on。
我可以通过以下形式进行:
<%= form.text_input :tag_list %>
它有效 - 它显示与电影相关的标签,我可以添加标签,用逗号分隔,一切都很好。
我现在正在尝试使用 collection_select 助手,我有两个想法:使用“:tag_ids”作为第一个参数,这使得正确显示分配给电影的标签(如选择),但未更新,或使用“:tag_list”使标签更新有效但不显示...
<%= form.collection_select(:tag_list, @all_tags, :id, :name, { }, { class: 'font-size-m', id: 'tag-select', multiple: true }) %>
(我在controller中定义@all_tags如下):
@all_tags = ActsAsTaggableOn::Tag.all
不确定如何将 collection_select 与这些标签一起使用...感谢任何帮助!
问题实际上是我使用了 :tag_list 作为允许的参数,而不是 tag_list: []。
结果表明,根据您使用 acts-as-taggable-on 的方式,您要么处理字符串(使用逗号分隔值),要么处理数组。我仍然不太确定它到底是如何工作的,但是 - 每当我在开发过程中现在没有保存标签时,我首先尝试切换允许的参数:)
我有一个带有标签的模型电影,使用 gem acts_as_taggable_on。
我可以通过以下形式进行: <%= form.text_input :tag_list %> 它有效 - 它显示与电影相关的标签,我可以添加标签,用逗号分隔,一切都很好。
我现在正在尝试使用 collection_select 助手,我有两个想法:使用“:tag_ids”作为第一个参数,这使得正确显示分配给电影的标签(如选择),但未更新,或使用“:tag_list”使标签更新有效但不显示...
<%= form.collection_select(:tag_list, @all_tags, :id, :name, { }, { class: 'font-size-m', id: 'tag-select', multiple: true }) %>
(我在controller中定义@all_tags如下):
@all_tags = ActsAsTaggableOn::Tag.all
不确定如何将 collection_select 与这些标签一起使用...感谢任何帮助!
问题实际上是我使用了 :tag_list 作为允许的参数,而不是 tag_list: []。 结果表明,根据您使用 acts-as-taggable-on 的方式,您要么处理字符串(使用逗号分隔值),要么处理数组。我仍然不太确定它到底是如何工作的,但是 - 每当我在开发过程中现在没有保存标签时,我首先尝试切换允许的参数:)