您使用什麼標準來決定是否嵌套資源?在Rails中選擇嵌套資源的最佳實踐?
過去,我選擇嵌套時,如果沒有對相關資源(父級)進行範圍限制,對資源的索引操作就沒有意義。
即使在我編寫上述標準時,我也意識到它至多不明確。
一位同事說:
巢資源,因爲它抓住了關聯模型可視化的URL結構的關係......它可以很容易地修改URL,回到剛纔的帖子。如果我看到/ posts/123/offers/555 - 我知道我可以去/ posts/123查看我的帖子。就像我剛剛看到/ offer/555一樣,除了手動瀏覽網站之外,我無法回到帖子。
對我來說,用戶的URL的操作應該對應用程序的體系結構沒有影響,並且對飛行就我所知是普遍持有的原則,即嵌套的資源應該如果在所有可能避免。另外,這個論點似乎支持多層次的嵌套,這也是我讀過的每篇文章都建議的。
你有什麼經驗?
您的亞馬遜樣例沒有真正說明嵌套路線的價值。如果你正在執行current_user.orders,那麼users/5/orders/2中的「users/5」是完全多餘的。所以我真的不知道這是一個安全的例子。/orders/2可能會做同樣的事情:current_user.orders.find(params [:id])...所以我不明白這一點。我更傾向於認爲這是一個嵌套路線不合適的例子,因爲它根本沒有價值。 – patrick