我有 3 个相关的表格。用户、订单和可视项
这个想法是每个用户都有许多订单,但同时,每个用户都可以查看属于其他用户的特定其他订单。所以 Viewables 具有 和 的user_id
属性order_id
。
订单有一个
:has_many :Users, :through => :viewables
是否可以通过订单的视图进行查找?所以像
@viewable_orders = Orders.find(:all, :conditions => ["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
但是对于长列表来说,这变得很难看。
谢谢!