Как сослаться на принадлежащую ассоциацию в области? - PullRequest
2 голосов
/ 15 апреля 2011
#!ruby
class Car < ActiveRecord::Base
  belongs_to  :user
end

@cars = Car.where(:user_id => current_user.id).limit(10)

Я хочу создать область, как я могу использовать ассоциацию: пользователь в области?

(rails3)

Ответы [ 2 ]

3 голосов
/ 15 апреля 2011

Итак, в вашей модели:

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

... которую вы можете затем вызвать с вашего контроллера с помощью:

Car.foo(current_user)
0 голосов
/ 15 апреля 2011

Попробуйте:

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)
...