Rails js.erb无法正常工作

时间:2016-05-25 12:31:32

标签: javascript ajax ruby-on-rails-4 erb

我提交了一个表单,有些复杂的嵌套到Rails控制器。 Javascript与提交按钮绑定如下:

    $('#new_search').submit(function() {  
    var valuesToSubmit = $(this).serializeArray();
    $.ajax({
        type: "POST",
        url: $(this).attr('action'), //sumbits it to the given url of the form
        data: valuesToSubmit,
        dataType: "POST" 
    })
    return false; // prevents normal behaviour
});

Rails控制器处理这个问题很好,参数就是它们应该的位置。

然后我渲染一个js.erb文件:

 respond_to do |format|
  format.js { render '/searches/update_search_results.js.erb' } 
 end

并且日志显示确实已呈现:

Rendered searches/update_search_results.js.erb (0.3ms)

但是在这个文件中(我已经加倍检查了文件名)甚至是一个简单的

alert("hello world");

没有开火。控制台日志中没有Javascript错误。有人有什么建议吗?与发送Ajax请求的原始Javascript有关? 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

好的,通过回到旧样式来修复它:remote =>在视图中的表单定义中为true。

我认为这个世界已经从这个转移到不引人注目的JS反弹提交事件。显然我错了,但这个解决方案可能对某人有所帮助,所以我将其留在这里