Мне нужно отобразить ответ JSON для REST api, в котором мне нужно включить дополнительные поля JSON, которые не являются частью визуализируемой модели. Я прочитал этот link о ActiveModel, где предлагается использовать опцию «: methods» для вызова другого метода, где я могу использовать дополнительные общие поля.Добавить общие поля в рельсы Ответ JSON
def add_fields
{ "field1" => "true" }
end
if @user.save
render :json => @user.as_json(:only => [:username, :org], :methods => [:add_fields])
endif
Однако, когда ответ JSON будет получен только имя пользователя & орга поле возвращается в формате JSON. Дополнительные параметры, определенные в методе «add_fields», не добавляются. Что мне не хватает, из-за чего дополнительные поля не добавляются в ответ JSON. Или есть лучший способ добавить общие поля (не часть модели) в ответ JSON?
Вы уверены, что реализовали метод add_fields в User? –
Моя ошибка, я добавил метод в другую модель. Спасибо, что указали это. Сейчас проблема исправлена. – sthustfo
Приятно слышать, что я отправил свой комментарий в качестве ответа, чтобы вы могли отметить его как ответ. –