has_and_belongs_to_many 上的 find() 不返回关联

发布于 2024-09-07 21:14:00 字数 431 浏览 5 评论 0原文

我有一个 has_and_belongs_to_many 关系:

class Staff < ActiveRecord::基础 has_and_belongs_to_many :服务

类 Service < ActiveRecord::基础 has_and_belongs_to_many :staffs

和我有一个名为“services_staffs”的表,其中包含 service_id 和 Staff_id 列

但是当我执行 Services.find(:all) 时,它不会返回员工(我可以通过使用“inspect”进行调试来看到这一点) 当我执行 @services.staffs (其中 @services 是 Services.find(:all) 的结果)时,它显示“未定义的方法‘staffs’”

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

I have a has_and_belongs_to_many relationship:

class Staff < ActiveRecord::Base
has_and_belongs_to_many :services

class Service < ActiveRecord::Base
has_and_belongs_to_many :staffs

and I have a table called 'services_staffs' with columns service_id and staff_id

But when I do Services.find(:all) it's not returning the staffs (I can see this by debugging with 'inspect')
And when I do @services.staffs (where @services is the result of Services.find(:all)) it says 'undefined method `staffs''

Any idea what the problem could be?
Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无畏 2024-09-14 21:14:00

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

You are trying to call a method that is part of a single instance of Service. @services.first.staffs will return the first service's staffs enumerable. If you want to return staffs on the entire services collection, you could do something like @services.map(&:staffs), which will return a multi-dimensional array.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文