Rails新手在这里!
我正在使用act-as-taggable-on来实现基本标记,但是我想修改默认行为,以便可以使用相同的标记多次标记模型的每个实例(比如帖子)。
@post.tag_list.add("awesome, awesome", parse: true)
只会在默认行为中创建一个标记和一个标记。我希望它在数据库中使用相同的标记,但为该帖子创建两个唯一的标记。
最终我希望能够计算@post被标记为“真棒”的次数,这样我就可以为每个帖子制作一个标签频率计数。什么是最好的方法,不需要滚动我自己的标签实现?
我正在尝试向用户添加重复的标签。我希望一些用户x有多个“真棒”标签。默认实现不会让我。
默认实施:
@instance.tag_list = "awesome, awesome, awesome"
@instance.save
@instance.reload
@instance.tags =>
[#<ActsAsTaggableOn::Tag id: 1, name: "awesome", taggings_count: 1>]
我希望taggings_count返回3,因为我想将3个单独的标记设置为“awesome”,即使它们都引用相同的标记。
答案 0 :(得分:1)
此库已经对标记进行了计数。只需查看标记记录的属性taggings_count
即可。
来自docs:
@user.tag_list = "awesome, slick, hefty"
@user.save
@user.reload
@user.tags
=> [#<ActsAsTaggableOn::Tag id: 1, name: "awesome", taggings_count: 1>,
#<ActsAsTaggableOn::Tag id: 2, name: "slick", taggings_count: 1>,
#<ActsAsTaggableOn::Tag id: 3, name: "hefty", taggings_count: 1>]
Taggings_coungs是应用标记的数量。