我有一个属于许多不同模型的嵌套资源。例如:
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 . . . .
我实际上有几十个模型我必须以这种方式分支,这似乎很草率。有没有我没有考虑的更好的(也许是成熟的)方法?