Задать вопрос
Holzfaller
@Holzfaller
Ruby / Ruby on Rails developer (full-stack)

Выборка данных для пользователя?

Есть таблицы
user (:id, :username)
follow (:user_id(кто подписался), :following(на кого подписался), :status(статус подписки))
image (:image, :user_id)
comment (:image_id, :user_id, :text)
repost (:user_id, :image_id).


Как сделать выборку для получения новостей пользователя, чтобы были включены записи пользователей, на которого он подписался?

Выборку записей пользователя произвожу так:
@news = User.where('users.id = ?', params[:user][:id]).includes(:images, :reposts).first


И ещё вопрос: я исопльзую гем rabl для вывода данных в json. для записей самого пользователя вот такой код:
object @news
attributes :id, :username

child(:images) do
    attributes :id, :image
    child(:comments)  do
        attributes :id, :text
        child(:user) {attributes :id, :username}
    end
end

child(:reposts) do
    child(:image) do
        attributes :id, :image
        child(:user) {attributes :id, :username}
        child(:comments)  do
                    attributes :id, :text
                    child(:user) {attributes :id, :username}
        end
    end
end


Как вывести данные второго объекта в этой же вьюхе?
  • Вопрос задан
  • 2576 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@linch
@news = Repost.where('id IN (?) OR user_id = ?',  Follow.where(user_id: params[:user][:id], params[:user][:id]).preload(:images).limit(20)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы