Linux Ubuntu 16.04
ruby 2.4.0p0;
rails 5.1.1
我在Rails中begginner,我已經跟着on Rails的4基礎培訓lynda.com以紅寶石學習。我現在停留在加載js資產任務。
我所創建的 「應用程序/資產/ Java腳本/ demo.js」 文件,該文件包含js函數:
function jsRoar(name) {
alert('I am ' + name + '. Hear me roar!');
}
然後,我必須加載此文件在我的清單文件「應用程序/資產/ Java腳本/ public.js「
//= require jquery
//= require jquery_ujs
//= require demo
後,我已經添加外部JS包括我在佈局的」應用程序/視圖/佈局/應用程ation.html.erb「:
<%= javascript_include_tag "public" %>
在我的控制器中我已經通過打字包括我的佈局‘應用程序/控制器/ demo_controller.rb’
layout 'application'
最後,我必須通過鍵入稱爲我的功能在我的演示/ index.html.erb這些JS代碼:
<%= link_to('Roar', '#', :onclick => "jsRoar('Yassser');return true;") %>
<%= javascript_tag("jsRoar('Rails');")%>
之後,我得到「未定義功能」在我的鉻控制檯和警報沒有出現。我已經在相同的HTML定義的功能。 erb,它的工作原理如此這不是我認爲的JavaScript問題。 我也是不得不提的是,在第一次運行我的服務器,我已經獲得,所以我已經通過添加「配置/初始化/ assets.rb」這一行固定資產編譯的問題:
Rails.application.config.assets.precompile += %w(public.js)
我我可以獲得更多細節。 請幫忙。
點擊鏈接後,一切都完成加載產生彈出? –
你可以看看頁面中包含的'public.js'(也就是說,當瀏覽器看到它後,Rails已經對它進行後處理)並驗證'demo.js'是否包含在其中?我的猜測是,你的清單文件的語法有一些問題,使它不被包含在內。 – pjmorse
@SimpleLime:不會在加載頁面後單擊鏈接後顯示彈出窗口,因爲我在頁面加載完成後打了一個電話,點擊鏈接後又打了一個電話。 –