多くの異なるモデルに属するネストされたリソースがあります。例えば:
resources :users do
resources :histories, only: [:show]
end
resources :publications do
resources :histories, only: [:show]
end
resources :events do
resources :histories, only: [:show]
end
でHistoriesController
、親オブジェクトを見つけたいのですが、これを処理するための乾いた方法を考えるのに苦労しています。現時点で、私が思いつくことができる最高のものは次のとおりです。
if params[:user_id].present?
@parent = User.find(params[:user_id])
elsif params[:publication_id].present?
@parent = Publication.find(params[:publication_id])
elsif . . . .
私は文字通り何十ものモデルをこのように分岐させなければなりませんが、それはずさんなようです。私が検討していないより良い(おそらく焼き付けられた)アプローチはありますか?