リソースをネストするかどうかを判断する基準は何ですか?Railsでネストされたリソースを選択するベストプラクティス?
以前は、関連するリソース(親)にスコープを設定することなく、リソースに対するインデックスアクションが意味を持たない場合にネストすることを選択しました。
上記の基準を書いていても、私はそれが最高であいまいであることを認識しています。それは視覚的にURL構造における関連するモデルの関係を捉えるため
ネストリソースを...そして、それはそれは簡単にだけポストに戻って取得するためのURLを変更することができます:
同僚は述べています。私が/ posts/123/offers/555を見ると、私は/ posts/123に行き、自分の投稿を見ることができることを知っています。まるでちょうど私が/見出し/ 555を見たかのように、手動でサイト内を移動する以外の方法で投稿に戻ることはできません。私に
、ユーザーによるURLの操作は、アプリケーションのアーキテクチャには何の関係を持っていない、と私はネストされたリソースはすべての可能であれば避けるべきであることが一般的に開催された原則であることを理解して何に対して飛ぶ必要があります。さらに、この議論は複数レベルのネスティングをサポートしていると思われます。
あなたの経験は何ですか?
あなたのAmazonのような例は、ネストされたルートの価値を実際に示していません。 current_user.ordersを実行している場合、users/5/orders/2の "users/5"は完全に余分です。だから私はそれがセキュリティの例であるかどうか本当に分かりません。/orders/2はまったく同じことをしている可能性があります:current_user.orders.find(params [:id])...だから、私はそれほどのポイントを得ていません。私はこれがネスティング・ルートが適切でない例であると感じるのがより簡単です。なぜなら、それは全く価値がないからです。 – patrick