у меня три класса;Пользователь, Лента и Записи.У пользователей есть один или несколько каналов, а в каналах есть одна или несколько записей:
class Feed < ActiveRecord::Base
has_many :entries
has_many :feeds_users
has_many :users, :through => :feeds_users, :class_name => "User"
end
Class User < ActiveRecord::Base
has_many :feeds_users
has_many :feeds, :through => :feeds_users, :class_name => "Feed"
end
class Entry < ActiveRecord:Base
belongs_to :feed
end
Классы пользователей и каналов связаны с третьей таблицей:
class FeedsUser < ActiveRecord::Base
belongs_to :user
belongs_to :feed
end
Теперь моя проблема в том, чтоМне нужно получить фиды определенного пользователя и последние n записей каждого фида.Я возиться с чем-то вроде этого:
u = User.first
Feed.joins(:entries, :users).where(:entries => { :created_at => (Time.now-2.days)..Time.now }, :users => u)
Моя проблема здесь заключается в том, что это генерирует некоторый SQL, который пытается запросить «пользователей» в таблице «фиды» - которых не существует.
Как мне создать правильный запрос, который может дать мне все фиды и их последние 10 записей для данного пользователя?