【问题标题】:Rails scope for joined table连接表的 Rails 范围
【发布时间】:2017-06-09 01:29:20
【问题描述】:

我正在尝试为拥有企业的用户构建一个范围。

用户获得了一个带有布尔标志的角色,称为“所有者”。

所以我添加了类似的内容,并尝试了几种可能性,但要么我收到错误,要么选择为空白。

class User
  belongs_to :role

  scope :owner, -> { where(:role.owner) }
end

我找不到解决办法...

我还尝试构建如下选择:

User.joins(:role).where(role: [owner: true])

User.joins(:role).where("roles.owner = true")

【问题讨论】:

    标签: ruby-on-rails join scope


    【解决方案1】:

    知道了:)

    scope :owners, -> {  joins(:role).where("owner = ?", true) }
    

    【讨论】:

    • 您应该可以使用where(roles: { owner: true })。请注意,您必须使用表名(角色)而不是关系名(角色)。
    猜你喜欢
    • 2014-10-09
    • 1970-01-01
    • 2015-10-20
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多