将Ajax与Rails 5 Beta一起使用

时间:2016-03-19 15:55:55

标签: ruby-on-rails ajax ruby-on-rails-5

最近,我想更新我正在处理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);

1 个答案:

答案 0 :(得分:0)

想出来,对于遇到此问题的任何人,您必须将文件扩展名从.js更改为.js.erb