我正在努力寻找最佳解决方案:
我有一个用户模型,用户应该可以保存他感兴趣的关键字(多个上下文)。
F.e。
User-interessts:
Sports: Checkbox(CB) fishing, CB Skyying, CB Tennis, CB Soccer
Music: CB Metal, CB Techno, CB Folk, CB Charts, ...
依旧......
用户保存他的选择后,我想提供以下搜索功能:
find by main category(input: sports, music,....)
find by keyword (input: sports, music, metal, fishing,....)
find by most viewed (show data with the most associated users)
我希望有一个自动生成的标签 - 云(如acts_as_taggable_on提供)
除此之外,如果列表易于管理将会很酷 - 例如标签不能用作主要和子类别(也许这适用于tag_contexts)......?
我尝试使用acts_as_tree进行构建,但这并没有限制。然后我尝试使用可标记的行为,但我不明白,我如何访问标签模型(我的模型文件夹中没有tag.rb文件)。
你能帮帮我吗?你有更好的解决方案吗?由于
答案 0 :(得分:4)
这听起来几乎与"acts-as-taggable-on"提供的一样。
自述文件:
class User < ActiveRecord::Base acts_as_taggable_on :tags, :skills, :interests end @user = User.new(:name => "Bobby") @user.tag_list = "awesome, slick, hefty" # this should be familiar @user.skill_list = "joking, clowning, boxing" # but you can do it for any context! @user.skill_list # => ["joking","clowning","boxing"] as TagList @user.save @user.tags # => [<Tag name:"awesome">,%lt;Tag name:"slick">,<Tag name:"hefty">] @user.skills # => [<Tag name:"joking">,<Tag name:"clowning">,<Tag name:"boxing">] # example finds: User.tagged_with("awesome", :on => :tags) # => [@user] User.tagged_with("awesome", :on => :skills) # => []
答案 1 :(得分:1)
值得注意的是,您始终可以使用以下内容获取tag.rb。
<% ActsAsTaggableOn::Tag.example_method_on_class %>