1
例如,一个用户加入了许多组;一个组有很多用户成员。现在我得到一个用户对象和一个组对象,我想知道这个用户是否是这个组的成员。如何在Rails3中测试多对多关系中的成员资格
我可以看到一些方法,但仍然在徘徊是否有更好的方法?
例如,一个用户加入了许多组;一个组有很多用户成员。现在我得到一个用户对象和一个组对象,我想知道这个用户是否是这个组的成员。如何在Rails3中测试多对多关系中的成员资格
我可以看到一些方法,但仍然在徘徊是否有更好的方法?
所以,如果我理解你的问题,你有什么是一样的东西:
class User < ActiveRecord::Base
has_many :groups, :though => :user_members
class Group < ActiveRecord::Base
has_many :users, :though => :user_members
而且你要知道,如果用户是特定组的成员。
因此,鉴于这样的:
u = User.first
g = Group.first
只要做到:
u.groups.include? g
那一切就是这么简单!
伊恩。
IPD的方式是好的,面向办法做到这一点另一个更Rails是:
u.groups.exists?(g)
+1一个很漂亮的红宝石办法做到这一点。 – Spyros 2011-06-06 06:25:46
是的,太棒了! – user681177 2011-06-06 13:43:47