2010-12-16 70 views
0

我有一個表示購買Rails 3的設計爲的has_many:通過


class Purchase < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :item 

所以基本上每次購買屬於兩個用戶和正在購買的物品模型。現在,這裏是我的問題,我可以在項目窩購買,這樣當用戶購買,他會去:

/項/ 1 /採購/新

這將正常工作,但我也很喜歡用戶能夠進入/用戶/ 1 /購買/ 1 /編輯等。基本購買將需要嵌套到用戶和物品,你不能。

現在我基本上爲用戶和項目添加了更多的寧靜行爲,比如/ item/1/purchase和/ user/1/purchase /等,但是這會導致控制器增長很多。這是唯一的方法還是可以將資源嵌套到2個資源?

回答

1

當然,他們可以嵌套在兩者中。 Rails不會阻止你製作任何你想要的路線。

但是,我建議只在某些父資源下嵌套某些操作。例如,newcreate可能會出現在商品下,因爲在您從商品中購物時這很有意義,但show之類的用戶可能在用戶下更有意義,如果它真的需要嵌套在任何東西之下。