エレガントなレール: 複数のルート、同じコントローラーのアクション
概要
複数のルートを同じルートに移動させる最もエレガントな方法は何ですか? コントローラーアクション?
私は持っている:
get 'dashboard', to: 'dashboard#index'
get 'dashboard/pending', to: 'dashboard#index'
get 'dashboard/live', to: 'dashboard#index'
get 'dashboard/sold', to: 'dashboard#index'
これはかなり醜いです。 「よりエレガントな」推奨事項はありますか? ワンライナーのボーナスポイント。
解決策
ルートとコントローラー アクションを 1 つだけにして、渡されるパラメーターに基づいて機能を変えてみてはいかがでしょうか。
get 'dashboard', to: 'dashboard#index'
def index
...
if params[:pending]
# pending related stuff
end
if params[:live]
# live related stuff
end
if params[:sold]
# sold related stuff
end
...
end