我正在使用acts_as_taggable_on gem和rails jquery autocomplete gem
我知道如何通过gem
获取标签计数我知道为了显示自动填充的返回搜索结果以外的其他内容,我需要做类似的事情
autocomplete :tag, :name, :class_name => 'ActsAsTaggableOn::Tag', :full => true
并再添加2个
键:extra_data , :display_value
额外的数据将检索搜索中的更多数据(不确定这里是否需要) display_value将从模型中调用一个方法,该方法使用自动完成功能进行搜索。
问题:
我不知道将display_value的方法放在哪里应该是
def tags_with_counts
"#{tag.name} x #{tag.count}
end
因为我没有标签模型文件来放入(因为acts_as_taggable_on不会生成这样的文件。
但即使我确实有这样的文件,从以前的实验中,该方法只能使用通过自动完成搜索检索的数据,而且我没有带标记计数的列。
我该怎么做才能解决这个问题?
答案 0 :(得分:1)
通过
解决了这个问题class Tag < ActsAsTaggableOn::Tag def tagcount num = ActsAsTaggableOn::Tagging.where(:tag_id => self.id).count "#{Tag.find(self.id).name} x #{num}" end end
并将“Tag”类发送到rails-autocomplete call
答案 1 :(得分:0)
假设您在其中一个模型中包含acts_as_taggable
指令,您实际上将其打开为属于act-as-taggable-on模块的一系列方法和关系。如果您想要添加一个在act-as-taggable-on模块范围内的方法,那么您只需在同一模型中定义它。
例如:
class Upload < ActiveRecord::Base
acts_as_taggable
def tags_with_counts
"#{tag.name} x #{tag.count}"
end
end
FYI您的tags_with_counts方法缺少结束双引号。