首页 文章

在Rails中加载Javascript

提问于
浏览
0

我在我的Rails应用程序中设置了这样的javascript导入:

<script>
    WebFontConfig = {
      google: {
        families: [
          'Open+Sans:300,400:latin'
        ]
      }
    };
  </script>
  <script src="//ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js" />
  <script src="http://maps.googleapis.com/maps/api/js?sensor=false" />
  <%= javascript_include_tag 'application' %>

我的application.js.erb文件是:

//= require jquery
//= require jquery_ujs
//= require modernizr.custom.44325

//= require jquery-backstretch/jquery.backstretch
//= require infinite-scroll/jquery.infinitescroll

//= require global

当我运行应用程序时,我的字体加载但我在控制台中显示这些错误:

未捕获的ReferenceError:jQuery未定义jquery_ujs.js?body = 1:400未捕获的ReferenceError:jQuery未定义jquery.backstretch.js?body = 1:378未捕获的ReferenceError:jQuery未定义jquery.infinitescroll.js?body = 1:815未捕获的ReferenceError:$未定义

我尝试重新排序导入,并根据顺序发生以下几种情况之一:

  • 字体加载但没有别的,jquery没有定义错误 .

  • 页面半加载,使用javascript且没有字体 .

关于可能发生什么的任何想法?我之前没有这样的错误?

的Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.12'
gem 'pg'
gem "flickraw", "0.9.6"
gem 'kaminari', "0.15.0"
gem 'bourbon'
gem 'simple_form'
gem 'sendgrid'
gem 'rdiscount'
gem 'haml'
gem 'slim', '~> 1.3.9'
gem 'naturalsorter', '0.2.2'
gem 'friendly_id'
gem 'awesome_print'
gem 'httparty'
gem 'nokogiri'
gem 'unicorn'
gem 'capistrano'
gem 'mechanize'

group :assets do
  gem 'jquery-rails', '2.2.1'
  gem 'sass', github: 'nex3/sass'
  gem 'sass-rails', '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
  gem 'susy', '2.0.0.beta.3'
  gem 'compass-rails', '>= 1.1.3'
  gem 'compass', '~> 1.0.0.alpha.17'
end

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
end

group :test do
  gem 'turn', require: false
  gem 'faker'
  gem 'capybara'
  gem 'database_cleaner'
  gem 'launchy'
  gem 'simplecov'
  gem 'spork-rails'
  gem 'guard-rspec'
  gem 'guard-spork'
end

group :development, :test do
  gem 'rspec-rails'
  gem 'shoulda'
  gem 'factory_girl_rails'
end

1 回答

  • 0

    解决了这个问题 . 它不喜欢自闭脚本标签 . 将它们更改为 <script></script> ,现在它完美运行了 .

相关问题