find()on has_and_belongs_to_many没有返回关联

时间:2010-06-26 20:13:32

标签: ruby-on-rails has-and-belongs-to-many

我有一个has_and_belongs_to_many关系:

班级员工<的ActiveRecord :: Base的   has_and_belongs_to_many:服务

班级服务<的ActiveRecord :: Base的   has_and_belongs_to_many:员工

我有一个名为'services_staffs'的表,其中包含service_id和staff_id

但是,当我执行Services.find(:all)时,它不会返回工作人员(我可以通过'inspect'调试来看到这一点) 当我做@services.staffs(其中@services是Services.find(:all)的结果)时,它表示'未定义的方法`staffs''

知道问题可能是什么? 谢谢!

1 个答案:

答案 0 :(得分:0)

您正在尝试调用属于单个Service实例的方法。 @services.first.staffs将返回可枚举的第一个服务人员。如果您想要返回整个服务集合的人员,您可以执行类似@ services.map(&:staffs)的操作,这将返回一个多维数组。