如何在作用域中引用belongs_to关联


#!ruby
class Car < ActiveRecord::Base
  belongs_to  :user
end
@cars = Car.where(:user_id => current_user.id).limit(10)

我想创建一个作用域,如何在作用域中使用关联:user ?

(rails3)

那么,在你的模型中:

scope :foo, lambda {|u| where( :user_id => u ).limit(10) }

…然后你可以从你的控制器调用:

Car.foo(current_user)

尝试:

Car.join(:user).where(:user_id => current_user.id).limit(10)
更新:

在你的模型

def self.with_user(user)
  join(:user).where(:user_id => user.id)
end

在你的控制器

Car.with_user(current_user).limit(10)

相关内容

  • 没有找到相关文章

最新更新