使用ActsAsTaggableOn如何制作标签控制器?

时间:2011-06-25 18:56:00

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

我有一个可标记的Game模型。现在我想制作一个控制器来按标签显示对象。

我可以使用@tag = ActsAsTaggableOn::Tags.find params[:id]选择标记。但是如何检索与标签相关的所有游戏? @tag.games显然不起作用。

1 个答案:

答案 0 :(得分:1)

您可能不需要TagsController。

要获得您特别要求的内容,您可以使用:

@tagged_games = Game.tagged_with :some_tag

如果标签是传递给该控制器动作的东西,你可以动态地找到它:

在routes.rb中:

match 'games/tagged/:id' => 'games#tag', :as => :tags

在GamesController中:

def tag
  @games = Game.tagged_with(params[:id])
  render :index
end

这将允许用户转到/ games / tagged / fps以获取标记为第一人称射击游戏的所有游戏的列表(例如,假设您的索引模板是一般收藏列表,无论如何