繁体   English   中英

Rails-命名范围

[英]Rails - Named scopes

对于我的用户模型,我有:

class User < ActiveRecord::Base
  has_many :group_users, :class_name => "User", :finder_sql => 'select DISTINCT u.* from users u join permissions pp on pp.user_id=u.id join spaces p on pp.space_id=p.id where space_id in (select space_id from permissions pp2 where user_id=#{id}) and pp.user_id != #{id}'

我如何在如下范围内访问它:

  scope :usersInMySpaces, lambda { |user|
      group_users
  }

谢谢

你不能,没有意义。 has_many关联在许多情况下都像作用域一样工作,但是在这种情况下,finder_sql太复杂了,无法与任何其他sql合并为作用域。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM