最近,我想更新我正在处理Rails 5的应用程序。该应用程序在Rails 4.2.4中运行正常并正常运行。我经历了更新过程,一切似乎都很好。我不得不更新/删除一些宝石,以便更新完成,因为一些宝石不起作用。现在,唯一不起作用的是Ajax。我尝试过使用responders gem。但那仍然没有呈现我的Ajax调用。使用responder gem,它表示它呈现相应的find_group.js文件。但是不执行文件中的任何代码。 。如果有人知道如何在Rails 5 Beta3中成功使用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 :(得分:0)
想出来,对于遇到此问题的任何人,您必须将文件扩展名从.js更改为.js.erb