エリアと店舗の 2 つのモデルがあり、同じパスから実行したいと考えています: www.mysite.com/the_name_of_the_thing_here
ここでやりたいことは、area テーブルを調べて一致するものを探し、area ページを表示し、一致しない場合は、store テーブルを調べて、代わりに store ページを表示することです。このロジックをどこに配置するか (コントローラーの領域に?) と、コントローラーを切り替える方法がよくわかりません。何か案は?
ありがとう
エリアと店舗の 2 つのモデルがあり、同じパスから実行したいと考えています: www.mysite.com/the_name_of_the_thing_here
ここでやりたいことは、area テーブルを調べて一致するものを探し、area ページを表示し、一致しない場合は、store テーブルを調べて、代わりに store ページを表示することです。このロジックをどこに配置するか (コントローラーの領域に?) と、コントローラーを切り替える方法がよくわかりません。何か案は?
ありがとう
そのためにコントローラーアクションを使用できると思います
@area = Area.find_by_name(params[:name])
@store = Store.find_by_name(params[:name])
if @area
redirect_to area_path(@area)
elsif @store
redirect_to store_path(@store)
else
redirect_to help_url
end
コンテンツを変更したい場合は、変数を定義する他のコントローラーメソッドのみを作成します。
@thing = Area.find_by_name(params[:name]) || Store.find_by_name(params[:name])
表示するためにそれを渡します
<%= thing.name %>