Rails - 命名范围

时间:2011-01-22 05:53:01

标签: ruby-on-rails ruby-on-rails-3

对于我的用户模型我有:

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
  }

感谢

1 个答案:

答案 0 :(得分:1)

你不能也没有意义。在许多情况下,has_many关联就像范围一样,但是在这一个中,finder_sql非常复杂,不能与任何其他sql组合作为范围。