Я пытаюсь создать объект ActiveRecord с помощью запроса JSON. Однако контроллер не может установить переменные, переданные в параметрах во вновь созданном объекте. Например, объект person имеет два поля: имя и фамилия.
JSON, сгенерированный функцией JSON.stringify библиотеки JSON.org, создает:
{"firstname" : "Joe" , "lastname" : "Bloggs"}
Однако контроллер ожидает, что JSON будет иметь вид:
{ "Person" : {"firstname" : "Joe" , "lastname" : "Bloggs"} }
Мне известно, что при нормальном ходе событий (для HTTP-запросов)
параметры для запроса вложены в имя класса модели
создается
Действие создания в контроллере:
def create
@person = Person.new(params[:person])
respond_to do |format|
if @person.save
flash[:notice] = 'Person was successfully created.'
format.html { redirect_to(@person) }
format.xml { render :xml => @person, :status => :created, :location => @person }
format.json { render :json => @person, :status => :created, :location => @person }
else
format.html { render :action => "new" }
format.xml { render :xml => @person.errors, :status => :unprocessable_entity }
format.json { render :json => @person.errors, :status => :unprocessable_entity }
end
end
end
Каким будет самый удобный способ для контроллера обработать JSON?
запросы как сгенерированные? Или в качестве альтернативы, как вы генерируете «правильный»
JSON из объектов Javascript для передачи вашим контроллерам?
ТИА,
Адам