@legolas4444

Как вернуть данные от разных сущностей одним запросом?

Всем привет! Хочу построить приложение, к примеру, твиттер. Работать оно должно так:
1. Грузится базовый шаблон.
2. Отправляем Ajax запрос (к примеру на get /user/{username})
3. Получаем json ответ со всеми твитами, тегами, информацией о пользователе и т.д
4. А на фронт энде это всё дело разгребёт AngularJs

Вопрос собственно состоит в том: как так изящно отдать сразу все данные? Я в рельсах новичек. На php я делал что-то типа такого:
//Метод Контроллера для роута get /user/{current_user}
public function($current_user) {
  $tags = new Tags();
  $user = new User();
  $profile = [
      "tags" => $tags->get_tag($current_user)
      "profile_info" => $user->get_info($current_user) 
      ....
  ] 
  return json_encode($profile)
}

Можно это сделать более изящно в рельсах или принцип тот же? Если не сложно, то с примерами кода. Спасибо!
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
@mayken
Если правильно понял, то:
Модель User:
has_many :tags
Модель Tag:
belongs_to :user

@user = User.find(params[:user_id])
render json: {
  tags: @user.tags,
  profile_info: @user
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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