午後にウェブ検索に費やした後。私はあなたに尋ねなければなりません。
私のアプリには、1つ以上のプラットフォームが関連付けられているゲームのリストがあります。プラットフォームに基づいたフィルターをユーザーに提案したいと思います。
名前付きスコープを属性とともに使用する必要があることはわかっています。でもリンクの作り方がわからない
午後にウェブ検索に費やした後。私はあなたに尋ねなければなりません。
私のアプリには、1つ以上のプラットフォームが関連付けられているゲームのリストがあります。プラットフォームに基づいたフィルターをユーザーに提案したいと思います。
名前付きスコープを属性とともに使用する必要があることはわかっています。でもリンクの作り方がわからない
怠惰な方法を使用:has_and_belongs_to_many
してこれを行う場合は、すべてのプラットフォームを取得して、すべてのゲームの一意の配列をゲームします。
@games = @plataforms.map(&:games).uniq
使用する場合:has_many
:
# in your game model
scope :by_plataforms, lambda { |plataforms_ids| where(:plataform_id => plataforms_ids) }
サンプル呼び出し:Game.by_plataforms([1, 2, 3])
編集
ルートを作成するには、GamesControllerのパラメータを使用してplataformでフィルタリングできます。
def index
@games = params[:plataform] ? Plataform.find(params[:plataform]).games : Game.all
end
そして、ビューで:
<%= link_to games_path(:plataform => @plataform.id) %>