0

タグ付け可能なGameモデルがあります。そして、タグでオブジェクトを表示するコントローラーを作りたいと思います。

を使用してタグを選択できます@tag = ActsAsTaggableOn::Tags.find params[:id]。しかし、タグに関連付けられたすべてのゲームを取得するにはどうすればよいでしょうか? @tag.games明らかに機能しません。

4

1 に答える 1

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 に移動して、たとえば、一人称シューティングゲームとしてタグ付けされたすべてのゲームのリストを取得できます (インデックス テンプレートが一般的なコレクション リストであると仮定します)。

于 2011-06-26T00:20:19.417 に答える