#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? возможно ли это?