2

我正在尝试找到最佳解决方案:

我有一个用户模型,用户应该能够保存他感兴趣的关键字(多个上下文)。

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 文件)。

你能帮助我吗?你有更好的解决方案吗?

谢谢

4

2 回答 2

4

这听起来几乎与“acts-as-taggable-on”所提供的完全一样。

从自述文件:

类用户 < ActiveRecord::Base
  act_as_taggable_on :tags, :skills, :interests
结尾

@user = User.new(:name => "鲍比")
@user.tag_list = "awesome, slick, hefty" # 这应该很熟悉
@user.skill_list = "开玩笑,小丑,拳击" # 但你可以在任何情况下这样做!
@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">]

# 示例发现:
User.tagged_with("awesome", :on => :tags) # => [@user]
User.tagged_with("awesome", :on => :skills) # => []
于 2009-11-11T10:02:48.237 回答
1

值得注意的是,您始终可以使用以下内容获取 tag.rb。

<% ActsAsTaggableOn::Tag.example_method_on_class %>
于 2011-01-04T15:24:34.600 回答