1

假設您有一個資源在另一個資源(例如註釋或標籤)的視圖中完整創建和顯示。如果你仍然使它成爲自己的資源,或者將它作爲嵌套資源是否更好?另外,你應該使用虛擬屬性?什麼是最好的Rails約定呢?

我知道這個問題是一般性的,但我不是在尋找一個特定的答案,只是每種技術何時被優先使用的一般性解釋。

回答

1

一些一般性的想法:

  • 嵌套和獨立的資源不一定互相排斥。
  • 「完全在另一個資源的視野內創建和顯示」是一個強烈的陳述,可能會導致不真實。例如,標籤:你是否想要一個帶有特定標籤的所有文章的列表。這是沒有意義的嵌套。
  • 嵌套在第二層或第三層以下時,它的價值將會更加麻煩。有人會說,即使是第一次嵌套,它的價值也更麻煩。
  • 對於擁有單一佔優資源的應用程序,添加其他獨立資源的成本會成比例地提高。小應用程序可以逃避大型應用程序無法做到的複雜性。
  • 如果你沒有一個良好的感覺,但每種方式寫一些資源。答案最多隻能證明你認爲最好是通過經驗來發展你自己的觀點。
1

一般來說,將其作爲嵌套資源會更有用。這是更「RESTful」的方式。它還會讓您訪問父資源,而無需將其指定爲參數。但是,如Rails routing guide中所述,您不希望將資源嵌套深度超過一個級別。