2016-03-13 31 views
2

我有一個的link_to這樣的應用程序無法正常工作。如果我這樣做,而不是它正常工作,但我寧願用不顯眼的JS ...不顯眼JS預期

<%= link_to "Load More", comments_feed_path(@story.id), :id => 'my-link', :onclick => "test()", :remote => true%> 

的application.js:

function test(){ 
    alert('test'); 
} 

任何想法對我缺少的是什麼嗎?

+0

什麼的jQuery的版本?不確定這是一個問題,但嘗試使用首選的'on'方法。 '$(el).on('click',handler);' – aprok

回答

1

似乎是一個常見的turbolinks問題。 Turbolinks是默認包含在rails中的gem,它可以防止在每個請求中加載頁面的公共部分。它阻止重新加載的最常見部分是頭部,包括所有javascript定義。這意味着,您的$(document).ready回調僅針對應用程序的初始頁面執行。

爲了解決這個問題,您需要更改$(document).ready到:

$(document).on('turbolinks:load', function() { 

有文件的讀:https://github.com/turbolinks/turbolinks

+0

不幸的是,這似乎沒有解決問題。我在控制檯中也看不到任何錯誤。 – user2884789

+0

@ user2884789 - 你可以檢查你的Gemfile中使用的turbolinks版本嗎? – BroiSatse