#!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)