Как мне извлечь значения столбцов внутреннего соединения из базы данных, сохранить их внутри массива и вернуться к вызывающему коду в Ruby on Rails?

#ruby-on-rails

#ruby-on-rails

Вопрос:

если у меня две модели.

Modela :has_many :modelbs

Modelb :belongs_to :modala

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

Я понимаю, что существуют find и связанные методы, но эти методы, похоже, возвращают мне массив, содержащий только объекты класса, который я нашел (например. Modela.find ), И мне придется перебирать этот массив и извлекать Modelbs, принадлежащие Modela. Есть ли более простой способ сделать это?

Ответ №1:

Пользователь has_many :posts

Публикация belongs_to :user

 @user = User.find(params[:user_id])
@posts = @user.posts.to_json
  

обновите нескольких пользователей и их сообщения в формате json:

 @users = User.all
@posts = @users.to_json(:include => :posts)
  

Комментарии:

1. спасибо @bricker. как насчет того, если я хочу получить несколько пользователей и их сообщения и преобразовать этот результат в json? возможно ли это?