是否可以在没有远程帮助程序的情况下在rails中执行Ajax发布请求?我试图用这个代码自己做(coffeescript在下面)现在我在提交表单时收到一个ActionController :: UnknownFormat错误:
def create
@soup = Soup.new(soup_params)
unless @soup.save
flash[:danger] = "You failed"
end
respond_to do |f|
f.js
end
end
$('form').on('submit', function(event) {
var form;
event.preventDefault();
form = $(this);
return $.ajax('/soup', {
type: 'POST',
data: form.serialize,
success: function(result) {
return form.remove();
}
});
});
= form_for(Soup.new) do |f|
= f.text_field :name
= f.number_field :age
= f.submit
答案 0 :(得分:0)
您获得ActionController::UnknownFormat
,因为您只回复js
格式。
我会将您的控制器更改为:
resond_to do |format|
format.json { render json: @soup }
end
和javascript:
$.ajax('/soup.json', {
// ...
})
此外,你的闪光灯没有做任何事情,因为你只回应json。你可能最好调用save!
并在你的ajax调用中添加一个错误处理程序。