Jquery Rails中没有助手的Ajax
在没有远程助手的情况下,可以在rails中执行Ajax post请求吗?我正试图用这段代码自己做这件事咖啡脚本如下现在我在提交表单时遇到一个ActionController::UnknownFormat错误:Jquery Rails中没有助手的Ajax,jquery,ruby-on-rails,ajax,coffeescript,Jquery,Ruby On Rails,Ajax,Coffeescript,在没有远程助手的情况下,可以在rails中执行Ajax post请求吗?我正试图用这段代码自己做这件事咖啡脚本如下现在我在提交表单时遇到一个ActionController::UnknownFormat错误: def create @soup = Soup.new(soup_params) unless @soup.save flash[:danger] = "You failed" end respond_to do |f| f.js
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
您将获得ActionController::UnknownFormat,因为您只响应js格式
我会将您的控制器更改为:
resond_to do |format|
format.json { render json: @soup }
end
和javascript,以:
$.ajax('/soup.json', {
// ...
})
另外,您的flash没有做任何事情,因为您只响应json。你最好打电话给save!以及在ajax调用中添加错误处理程序