У меня есть объект json. Я хочу создать нового ученика, передав это значение. Как передать значение этого объекта контроллеру с помощью ajax в ruby on rails? Это код, который я использовал для передачи объекта.Как передать объект json контроллеру с помощью ajax?
self.save = function() {
var dataToSave = {
Name: self.firstName(),
_age: self.Age()
}
alert(JSON.stringify(dataToSave))
$.ajax({
url: '/students/new',
dataType: 'json',
type: 'PUT',
data: {total_changes: JSON.stringify(dataToSave)},
success: function(data) {
alert("Successful");
},
failure: function() {
alert("Unsuccessful");
}
});
// TODO send request
};
}
я Существует некоторая ошибка в терминале. Он показывает
Parameters: {"id"=>"new", "total_changes"=>"{\"Name\":\"hu\",\"_age\":\"7\"}"}
идентификатор берется new.Rake маршрутов
[[email protected] jquery_country]$ rake routes
students GET /students(.:format) students#index
POST /students(.:format) students#create
new_student GET /students/new(.:format) students#new
edit_student GET /students/:id/edit(.:format) students#edit
student GET /students/:id(.:format) students#show
PUT /students/:id(.:format) students#update
DELETE /students/:id(.:format) students#destroy
контроллер
def new
@student = Student.new
respond_to do |format|
format.html # new.html.erb
format.json { render :json => @student }
end
end
Как я могу пойти, чтобы создать функцию в контроллере?
$ .ajax ({ URL: '/ студентов/новый', это правильно – Niths
Да, это правильно и будет? вызовите новое действие контроллера ученика. –
Я редактировал свой код с вашим предложением, но все же показывает терминалы Параметры: {"id" => "new", "total_changes" => "{\" Name \ ": \" yut \ ", \" _ age \ ": \" 6 \ "}"} id = 'new' .... – Niths