如何在Rails 4中设置模型以获得一对多的双向关系?

时间:2014-12-09 01:39:04

标签: ruby-on-rails ruby-on-rails-4

我是Rails的新手,正在努力学习关系如何适用于营地注册项目。我希望用户可以让小组来到阵营,并且能够从小组中看到用户。 我目前的模型设置如下:

class User < ActiveRecord::Base
    has_many :Groups
end
class Group < ActiveRecord::Base
    belongs_to :User
end

希望能够致电: User.Group返回组列表,但Group.User返回nil。我需要Group.User来返回用户。

1 个答案:

答案 0 :(得分:0)

您需要稍微调用这些属性。

首先,请记住在Ruby中,大写名称代表类。您可能意味着您希望能够在控制器中执行此操作以使视图可用:

@user = User.find(params [:id])

现在在您的视图中,您将能够使用@ user.groups来引用数组的数量。请注意,它是“组”而不是“组”,因为您将其定义为“has_many”

另一方面,如果要填充组模型中的user_id字段,您还应该找到以下作品:

@group = Group.find(params [:id])

哪个可用@ group.user - 再次,小写但现在是单数,因为它是“belongs_to”