2

次のように、routes.rb で利用可能なルートのみを指定する利点はありますか。

resources :users, only: [:new, :create]

コントローラーにアクション メソッドのビューがない場合でも、アクションを除外する代わりに、次のようにします。

resources :users

それが良い習慣だとしたら、どのようなメリットがありますか?

4

2 に答える 2

3

怠惰なエンジニアではないことに加えて、ここにはいくつかの利点があります;)

DRY ルート、クリーン コード

ある時点で、Rails アプリケーションに多数のルートが存在する場合があります。REST ルートを必要なものだけに制限すると、アプリケーションから実際に使用できるルートを確認するのに役立ちます。

を実行するときrake routesは、有用なルートのみを使用する方が、使用済みおよび未使用のルートをまとめてマージするよりもはるかに効率的です。

ルートは順番に解析されます

あなたまたは誰かがサーバーで HTTP リクエストを行うたびに、Rails はルート ファイルを解析して一致するものを見つける必要があります。

Rails ルートは指定された順序で照合されるため、get 'photos/poll' の上に resources :photos がある場合、resources 行の show アクションのルートは get 行の前に照合されます。

未使用のルートがあると、ある時点で Rails の解析が遅くなる可能性があります (少量のルートでは違いは見られません)。

于 2013-08-07T05:47:47.840 に答える
2

制限されたリソース ルーティングにより、コードの追跡が容易になります。

ルーティング テーブルを小さくできるほど、使用するメモリが少なくなり、ルートの認識と生成にかかる処理時間が短縮されます。

また、未使用のルートを削除することで、アプリケーションの攻撃面を減らすことができます。これはセキュリティ上の利点です。

于 2013-08-07T05:50:07.283 に答える