如何使协会工作

时间:2011-06-19 08:43:47

标签: ruby-on-rails

我有两种模式:

class Group < ActiveRecord::Base
  belongs_to :sites
end

class Site < ActiveRecord::Base
  has_many :groups
end

我可以获得属于网站的所有群组:

Site.find(1).groups

但是我无法获得属于给定组的网站:

$ Group.find(1)
#<Group id:1 ...., site_id: "1">
$ Group.find(1).sites
nil

为什么?

2 个答案:

答案 0 :(得分:2)

可能因为该组属于1,所以它应该是单数形式

$ Group.find(1).site

而且正如Marcel Jackwerth所说,belongs_to也应该是单一的形式

class Group < ActiveRecord::Base
  belongs_to :site
end

答案 1 :(得分:-1)

如果它不起作用,您可以随时将以下公共方法添加到group.rb

def site
  Site.find self.site_id
end