2012-03-12 5 views
3

Я некоторое время назад я прочитал эту статью: http://pivotallabs.com/users/nick/blog/articles/275-advanced-proxy-usage-part-i, который говорит о AR прокси и т.д. ..Рельсы ассоциаций для CURRENT_USER

Автор указал, что мой вопрос в настоящее время.

В этом примере это будет описано.

class Gallery 
    has_many :images, :class_name => 'Image' 
    has_many :my_images, :class_name => 'Image' #, :conditions => "images.user_id == current_user.id" # FIX THIS 
end 

и здесь

class Image 
    belongs_to :user 
    belongs_to :gallery 
end 

Примечание: Я использую PostgreSQL

Итак, когда вы получаете доступ моих всех изображений с галереей: Gallery.first.includes(:my_images)

Если я хочу, чтобы вернуть все изображения : Gallery.first.includes(:images)

Итак, как передать текущего пользователя условиям в has_many?

Редактировать

User 
    has_many :images 
    has_many :galleries, through: :images 
+0

Вы не описали связь между текущим пользователем с галереей и изображениями, так что невозможно ответить на ваш вопрос. – megas

+0

Я отредактировал вопрос – amrnt

+0

Не было бы has_many: галереи has_many: изображения, через: галереи, а затем доступ, как говорит Spyros –

ответ

0

Если я хорошо понимаю, вы хотите получить что-то вроде:

current_user.galleries.first.images 

Если да, то вам просто нужно будет создать has_many ассоциацию между Пользователем и галереи через третья модель, возможно, названная UserGallery.

Более подробная информация о имеет много через:

http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association

+0

Спасибо @SpyrosP. Я уточнил вопрос, чтобы быть более ясным. – amrnt

Смежные вопросы