【问题标题】:Using acts-as-taggable-on in a collection_select form在 collection_select 表单中使用acts-as-taggable-on
【发布时间】:2021-11-29 13:55:12
【问题描述】:

我有一个带有标签的模型电影,使用 gemacts_as_taggable_on。

我可以这样做: 它可以工作 - 它显示与电影相关的标签,我可以添加标签,用逗号分隔,一切都很好。

我现在正在尝试使用 collection_select 助手,我有两个想法:使用“:tag_ids”作为第一个参数,这使得正确显示分配给电影的标签(如选择的那样),但不更新,或者使用“: tag_list" 使标签更新工作但不显示...

<%= form.collection_select(:tag_list, @all_tags, :id, :name, { }, { class: 'font-size-m', id: 'tag-select', multiple: true }) %>

(我在控制器中定义@all_tags如下):

@all_tags = ActsAsTaggableOn::Tag.all

不知道如何使用带有这些标签的collection_select...感谢任何帮助!

【问题讨论】:

  • = f.select(:tag_list, ActsAsTaggableOn::Tag.all.collect { |t| [t.name, t.name] }, {}, { multiple: true }) 应该可以工作。如果没有,请告诉我
  • 是的。我还在电影的允许参数中发现了一个不同的问题 - 我不应该包含 :tag_list,但 tag_list: [] 作为参数,否则它不起作用!不过现在都解决了,谢谢。

标签: ruby-on-rails acts-as-taggable-on


【解决方案1】:

问题实际上是我使用 :tag_list 作为允许的参数,而不是 tag_list: []。 事实证明,这取决于您如何使用作为可标记的行为 - 您可以处理字符串(使用逗号分隔值)或数组。我仍然不太确定它是如何工作的,但是 - 在我的开发过程中,如果现在没有保存标签,我首先会尝试切换允许的参数 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多