タグ付け可能なGame
モデルがあります。そして、タグでオブジェクトを表示するコントローラーを作りたいと思います。
を使用してタグを選択できます@tag = ActsAsTaggableOn::Tags.find params[:id]
。しかし、タグに関連付けられたすべてのゲームを取得するにはどうすればよいでしょうか? @tag.games
明らかに機能しません。
タグ付け可能なGame
モデルがあります。そして、タグでオブジェクトを表示するコントローラーを作りたいと思います。
を使用してタグを選択できます@tag = ActsAsTaggableOn::Tags.find params[:id]
。しかし、タグに関連付けられたすべてのゲームを取得するにはどうすればよいでしょうか? @tag.games
明らかに機能しません。
おそらく、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 に移動して、たとえば、一人称シューティングゲームとしてタグ付けされたすべてのゲームのリストを取得できます (インデックス テンプレートが一般的なコレクション リストであると仮定します)。