我有一个表单,我想使用data-remote=true
选项提交。但我想让我的创建操作返回json,然后由页面上已存在的javascript处理。我可以使用form_for标记设置内联回调吗?
类似的东西:
=form_for @foo,:remote => true, :success => "my_js_stuff" do |f|
答案 0 :(得分:9)
我不确定在没有覆盖rails帮助器的情况下是否可行。但是你可以使用jquery ajax事件并绑定它们。例如:
$('form#sign-up-form').ajaxError(function(event, request, settings) {
//do some stuff on error
})
$('form#sign-up-form').bind('ajax:success', function(evt, data, status, xhr){
//do some stuff on success
})
答案 1 :(得分:5)
您需要为foo控制器定义create.js.erb和/或update.js.erb。这将返回您将执行的javascript。
从那里,您可以执行页面上已存在的javascript。