限制标签与 ActsAsTaggableOn 一起使用
limiting tags to use with ActsAsTaggableOn
我目前正在评估是使用 ActsAsTaggableOn 还是自己动手。
我不能让用户随机创建标签,而是想为项目模型定义允许的标签列表。与该项目关联的用户只能 select 该项目允许的标签(通过项目和标签模型,其中一个项目可以有多个标签)。
明智的做法似乎是使用 ActsAsTaggableOn,但在谷歌搜索一个多小时后,我找不到很多关于我的用例的文档。
我没有使用过 ActsAsTaggableOn,但如果您唯一的问题是限制可以选择的标签,那应该很容易。
使用像 chosen-rails
这样的 gem 来制作一个很好的选择器,从您提供的一组允许的标签中选择标签。返回的所选标签数组分配给您的 acts_as_taggable_on 字段。
如果 ActsAsTaggableOn 不支持数组输入(我不清楚)使数组成为 attr_accessor 字段,例如 tag_array
然后执行
my_object.my_tags = tag_array.join(',')
我目前正在评估是使用 ActsAsTaggableOn 还是自己动手。 我不能让用户随机创建标签,而是想为项目模型定义允许的标签列表。与该项目关联的用户只能 select 该项目允许的标签(通过项目和标签模型,其中一个项目可以有多个标签)。 明智的做法似乎是使用 ActsAsTaggableOn,但在谷歌搜索一个多小时后,我找不到很多关于我的用例的文档。
我没有使用过 ActsAsTaggableOn,但如果您唯一的问题是限制可以选择的标签,那应该很容易。
使用像 chosen-rails
这样的 gem 来制作一个很好的选择器,从您提供的一组允许的标签中选择标签。返回的所选标签数组分配给您的 acts_as_taggable_on 字段。
如果 ActsAsTaggableOn 不支持数组输入(我不清楚)使数组成为 attr_accessor 字段,例如 tag_array
然后执行
my_object.my_tags = tag_array.join(',')