簡體   English   中英

Ruby on Rails項目無法識別jQuery

[英]Ruby on Rails project not recognizing jQuery

我有一個項目,我需要在我的JavaScript文件中使用jQuery。 我收到一條錯誤消息,告訴我“參考錯誤:未定義$。” 當我從一行代碼加載頁面時

$(window).load(function()

完整功能位於下面的play.html.erb片段中。 我相信這是一個jQuery錯誤。

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

我已經就如何使jQuery工作進行了一些研究,但是沒有任何幫助。 我看着在Rails 3.2.13安裝jQuery

我嘗試將<%= javascript_include_tag "//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" %>放入我的html.erb文件中,該文件包含我要嘗試的javascript文件使用中的jQuery

我也嘗試將<%= javascript_include_tag :application %>放入其中。

有建議將整個文件放入我的app / assets / 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 )放入我的asset.rb中,並通過終端對我的資產進行預編譯。

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

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

我的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);
});

asset.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 .

寶石文件

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'

目前,我的app / assets / javascripts文件夾中仍然還有jquery-2.1.1.min.js。 修復此錯誤的任何幫助將不勝感激。

您應該將jquery的include標記放在"play"的include標記之后

  <%= 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" %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM