2016-03-19 57 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