允许使用act-as-taggable-on重复标记

时间:2014-07-14 02:09:42

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

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”,即使它们都引用相同的标记。

1 个答案:

答案 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是应用标记的数量。