0

これは、レーキルートを実行した場合に得られるものです。

population_management GET /population_management/:id(.:format)          population_management#show
                      GET /providers/:provider_id/scorecards(.:format)  scorecard#show
                      GET /patients/:id/summary(.:format)               patients#show

一番左の最初の列には、その値がpopulation_managmentであるという余分な列がありますが、2番目と3番目の列にはそれがなく、。で始まることに注意してGETください。

最初の1つと他の2つの違いは何ですか?どちらがより専門的でより良いですか?Rail開発者がこれらのどれが優れているかを判断するために従う経験則または規則はありますか?

  resources :population_management, only: [:show]

  match 'providers/:provider_id/scorecards', to: 'scorecard#show', via: :get
  match 'patients/:id/summary', to: 'patients#show', via: :get
4

1 に答える 1

2

最初の列はルートの名前で、リンクの設定などに役立ちます (たとえばpopulation_management_path(id)/population_management/id.

独自のカスタム ルートに名前を付けたい場合は:as、たとえば を使用してそれを行うことができます。

match 'patients/:id/summary', to: 'patients#show', via: :get, as: "patient_summary"
# or slightly simpler
get 'patients/:id/summary', to: 'patients#show', as: "patient_summary" 

(Rails 4 では後者を使用する必要があります。これmatchは廃止予定です)。

どちらの方法でも問題ありませんが、標準の RESTful リソースを設定していて、すべてのルートを個別に定義する必要がない場合は、 resources(およびresource) の方がはるかに便利です。

いつものように、Rails ルーティング ガイドもこの件に関する優れた読み物であり、チェックする価値があります。

于 2013-02-26T02:43:51.643 に答える