2016-03-19 92 views
2

最近,我想更新一个我正在使用Rails 5的应用程序。该应用在Rails 4.2.4中正常运行。我经历了更新过程,一切似乎都很顺利。我不得不更新/删除一些宝石,以使更新完成,因为一些宝石不起作用。现在,唯一不起作用的就是Ajax。我曾尝试使用响应者宝石。但是这仍然没有呈现我的Ajax调用。通过响应者gem,它说它呈现相应的find_group.js文件。但不执行文件中的任何代码。 。如果有人知道如何在Rails 5 Beta3中成功使用Ajax。我将不胜感激。感谢在Rails 5 Beta中使用Ajax

相关的代码: 用户控制器

def find_group 
    @group = Group.find(params[:id]) 
      respond_to do |format| 
       format.json 
       format.js { render "users/find_group" } 
      end 
end 

的routes.rb

match '/users/find_group', to: "users#find_group", via: "post" 

使用Ajax触发后对应JavaScript代码

$.ajax({ 
    url: 'find_group', 
    type: "post", 
    data: {id: this.id}, 
    dataType: 'script' 
}); 

find_group.js视图

$("#group").html("<%= escape_javascript (render("group")) %>"); 

在这个文件中,没有任何代码被执行。我甚至扔了一个警戒检查。这就是所有事情都会发生的地方。

这里是万一有人控制台输出感兴趣

Rendered users/find_group.js (0.5ms) 
Completed 200 OK in 4827ms (Views: 8.6ms | ActiveRecord: 2.0ms) 

而且,在Firebug控制台的错误:

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data 
var errors = JSON.parse(xhr.responseText); 

回答

0

想通了,任何人谁拥有了这个问题,您必须将文件扩展名从.js更改为.js.erb