2016-06-28 6 views
0

私はAdvertisersコントローラとExperimentsコントローラを持っています。同意は次のようになりますコントローラから次へのアクセス変数

私は実験を作成する際に、advertisers_idが渡され、すべてが正常に動作しているようです。広告主の表示ページ内の実験(特定の広告主向け)にアクセスするにはどうすればよいですか? http://guides.rubyonrails.org/routing.html#nested-resourcesを:私はhttp://localhost:3000/advertisers/5/の午前場合

だから私は何をする必要が、ネストされたリソースを作成し、ここで見てみることです5

答えて

1

のIDを持つ広告主のための実験のリストを表示したいと思います。

あなたのルートは次のようになります。

resources :advertisers do 
    resources :experiments 
end 

そして、あなたは、次のルートに与えられた広告主の実験にアクセスすることができます。http://localhost:3000/advertisers/5/experiments そして、あなたが持っているので、特定の広告主のための実験をフェッチする必要がそのルートで返す:

Advertiser.find(params[:id]).experiments 
+0

ネストされたリソースのセットアップがありました。これが最善の方法であるかどうかは不明ですが、広告主のコントローラーでは次のプライベートアクションを追加しました。実験をフェッチする方法が分かりません。 'def find_experiments @advertiser = Advertiser.find(params [:id])。experiment end'その後、私はbefore_actionを呼び出します:find_experiments –

+0

心配しないで、私はそれを考え出しました=) –

+0

クラップ、私はあまりにも早く話しました。 私はこれを広告主の中に持っています。show.html.erb '<%@ advertiser.experiments.each do | experiments |私がアクセス実験をカント0x8920c50> \t ** :> ' ' <%= @ advertiser.experiments.name%> '' <% end %> ' %はしかし、それだけで**#<実験:: ActiveRecord_Associations_CollectionProxyを出してくれる。 experiment_typeまたは他の値のいずれか –

関連する問題