RoR4 - has_many通过
问题描述:
我有一个小问题,通过我的has_many关系。RoR4 - has_many通过
以下关系式给出:
Class User < ActiveRecord:Base
has_many :group_members
has_many :groups, through: :group_members
Class Group < ActiveRecord:Base
has_many :group_members
has_many :users, through: :group_members
Class GroupMember < ActiveRecord:Base
belongs_to :user
belongs_to :group
如果我打电话
@groups = User.groups
我得到一个NoMethodError。为什么?我试图输出所有成员与他们的团体...我怎么能做到这一点?
答
User类本身没有一个称为组的方法。
你可以组为用户的一个实例,因此
@user.groups
会工作。
如果你想把所有的组,那么就去做
Group.all
如果你希望所有用户和他们的组,那么
@users = User.all
,那么你将通过它
@users.each do |user|
groups = user.groups
# Do something like ...
puts "#{user.name} has these group"
puts group.inspect
end
必须循环那么,我是一个愚蠢的......谢谢:D – Tobias