2014-11-23 99 views
0

我有一個項目,我需要使用jQuery的JavaScript文件。我得到一個錯誤告訴我'參考錯誤:$未定義。'當我從一行代碼加載我的頁面時Ruby on Rails項目不承認jQuery

$(window).load(function() 

完整的函數在下面的play.html.erb代碼片段中。我相信這是一個jQuery錯誤。

我正在使用Ruby 2.1.2p95和Rails 4.1.6。

我已經做了一些關於如何讓jQuery工作但沒有任何幫助的研究。我看着Installing jQuery in Rails 3.2.13

我試圖把<%= javascript_include_tag "//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" %>中包含的JavaScript文件,我想使用jQuery的在

我試圖把<%= javascript_include_tag :application %>在那裏還有我的html.erb文件。

有人建議把整個文件在我的應用程序/資產/ JavaScript的,所以我下載了jQuery的2.1.1.min,JS,把在那裏,把<%= javascript_include_tag "jquery-2.1.1.min" %>在html.erb文件,並把Rails.application.config.assets.precompile += %w(jquery-2.1.1.min.js)在我的assets.rb中,並通過終端預編譯我的資產。

我已將gem 'jquery-rails'放在我的gemfile中。

我自己也嘗試了2個方向上https://rubygems.org/gems/jquery-rails

我也常規定需要在我的application.js

我跑bundle install後的一切,我只是一樁案件。

play.js

$(window).load(function() 
{ 
    var c = document.getElementById("charhealthbar"); 
    var ctx = c.getContext("2d"); 
    var health = 5; 
    ctx.fillStyle = "#FF0000"; 
    ctx.fillRect(0, 0, (health/100) * 140, 25); 
}); 

assets.rb

Rails.application.config.assets.version = '1.0' 
Rails.application.config.assets.precompile += %w(creation.css) 
Rails.application.config.assets.precompile += %w(Main.css) 
Rails.application.config.assets.precompile += %w(creation.js) 
Rails.application.config.assets.precompile += %w(play.css) 
Rails.application.config.assets.precompile += %w(play.js) 
Rails.application.config.assets.precompile += %w(jquery-2.1.1.min.js) 

play.html.erb

<%= stylesheet_link_tag "Main.css" %> 
    <%= stylesheet_link_tag "play.css" %> 
    <%= javascript_include_tag "play" %> 
    <%= javascript_include_tag :application %> 
    <%= javascript_include_tag "jquery-2.1.1.min" %> 

的application.js

//= require jquery 
//= require jquery_ujs 
//= require creation 
//= require_tree . 

的Gemfile

source 'https://rubygems.org' 
gem 'rails', '4.1.6' 
gem 'pg' 
gem 'sass-rails', '~> 4.0.3' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.0.0' 
gem 'turbolinks' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0',   group: :doc 
gem 'spring',  group: :development 
gem 'jquery-rails' 

我也是目前仍然在我的應用程序/資產/ JavaScript的文件夾中的jQuery的2.1.1.min.js。 任何幫助解決這個錯誤將不勝感激。

+0

你通過瀏覽器控制檯嘗試調試?那只有一個錯誤? – Saravanan 2014-11-23 19:02:55

回答

0

你應該把包括"play"標籤後,包括jquery標籤:

<%= stylesheet_link_tag "Main.css" %> 
    <%= stylesheet_link_tag "play.css" %> 
    <%= javascript_include_tag "jquery-2.1.1.min" %> 
    <%= javascript_include_tag :application %> 
    <%= javascript_include_tag "play" %> 
+0

我花了這麼多時間,而且這很簡單。謝謝。你有一個很好的資料來解釋這個嗎? – 2014-11-23 19:24:12

+0

嘗試[this](http://javascript.about.com/od/hintsandtips/a/exeorder.htm)也許 – 2014-11-23 20:07:15