我有3個相關的表格。 用戶,訂單和可視對象Rails - 通過has_many查找信息的邏輯:通過需要!
想法是每個用戶都有很多訂單,但同時每個用戶都可以查看屬於其他用戶的特定其他訂單。所以Viewables具有user_id
和order_id
的屬性。
訂單有着 :has_many :Users, :through => :viewables
是否有可能通過做訂單的視圖中找到? 因此,像
@viewable_orders = Orders.find(:全部:條件=> [ 「?Viewable.user_id =」 1])
拿到訂單,其通過USER_ID是可見的列表= 1。 (這不起作用,否則我不會問。:() 這個想法是我可以做一些類似於側欄的東西,當前用戶(登錄的用戶)可以查看其他人的訂單列表,他可以查看 例如
其他三個用戶誰有一些訂單,他可以查看應最終顯示是這樣的:
- 插孔(2)
- 基本定單(REGISTRY_ID:1 )
- 新訂單(registry_id:29)
- 艾米(4)
- 短訂單(REGISTRY_ID:12)
- 吉爾(5)
- 硬件令(14)
- 粉紅令(17)
- 軟件訂單(76)
(括號中的數字是各自USER_ID或REGISTRY_ID)
因此,要找到所有的訂單,目前用戶可以找到的列表(假定當前用戶的user_id是1),將被發現做
@viewable_orders = Viewable.find(:all, :conditions => ["user_id=?", 1])
而這會給我上述6個註冊表的集合。現在,最簡單的方法是爲我提供一份清單
+ Jill's Hardware Order
+ Jill's Pink Order
+ Amy's Short Order
+ etc
但是,對於長列表來說,這會變得很難看。
謝謝!
這工作! :D 我沒有意識到如何使用':source'參數,直到你解釋它爲止。感謝堆! :d – 2010-05-22 10:09:21