将命名范围与 has_many_through 一起使用

发布于 2024-11-30 12:56:25 字数 426 浏览 2 评论 0原文

我有以下模型:

class Board < ActiveRecord::Base

has_many   :users, :through => :participants do
                 def manager
                     where("participants.role = ?", "Manager").first
                 end
               end

这允许我在控制器和视图中执行以下操作

@board.users.manager

是否有一种方法可以使用named_scope来获取板的管理器,如下所示:

@board.manager

I have the following model:

class Board < ActiveRecord::Base

has_many   :users, :through => :participants do
                 def manager
                     where("participants.role = ?", "Manager").first
                 end
               end

This allows me to do the following in my controller and views

@board.users.manager

Is there a way to use a named_scope to be able to get the manager for a board as follows:

@board.manager

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

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

发布评论

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

评论(1

风渺 2024-12-07 12:56:25

这是一个示例解决方案:

class Board < ActiveRecord::Base

  has_many   :users, :through => :participants do
    def manager
      where("participants.role = ?", "Manager").first
    end
  end

  delegate :manager, :to => :users

end

Here's a sample solution:

class Board < ActiveRecord::Base

  has_many   :users, :through => :participants do
    def manager
      where("participants.role = ?", "Manager").first
    end
  end

  delegate :manager, :to => :users

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