0

次のルートがあります。アプリの構造を同じままにしたい(複数の機能を備えた1つのコントローラー)が、ルートファイルをより合理的で簡単に拡張できるようにしたい。

get 'splunk/ocd/:order_id' => "splunk#order_collection_details"
get 'splunk/ord/:order_id' => "splunk#order_request_details"
get 'splunk/ord_ar/:request_id' => "splunk#ord_associated_requests"
get 'splunk/ord_ad/:user_id/:deal_option_id' => "splunk#ord_additional_details"
get 'splunk/avatax_logs/:order_id' => "splunk#avatax_logs"
get 'splunk/billing_updates/:billing_record_id' => "splunk#billing_updates"
get 'splunk/cc_storage_details/:billing_record_id' => "splunk#cc_storage_details"
4

1 に答える 1

1

@MikeBrantに同意します。これをリファクタリングする必要性はそれほど大きくないようですが、本当に必要な場合は、次のような方法を試してみてください。

controller :splunk do
  get 'splunk/ocd/:order_id' => :order_collection_details
  get 'splunk/ord/:order_id' => :order_request_details
  get 'splunk/ord_ar/:request_id' => :ord_associated_requests
  get 'splunk/ord_ad/:user_id/:deal_option_id' => :ord_additional_details
  get 'splunk/avatax_logs/:order_id' => :avatax_logs
  get 'splunk/billing_updates/:billing_record_id' => :billing_updates
  get 'splunk/cc_storage_details/:billing_record_id' => :cc_storage_details
end

もう少し整理されていて読みやすくなっていますが、アプリ全体が1つのコントローラーの周りにある場合は、必要性がわかりません。

于 2012-08-06T22:12:30.960 に答える