-1

我已正确进行所有配置以将我的 Rails 应用程序升级到 Rails 3.1.3。现在在我的 applications.css.erb 文件和 application.js 文件中,我使用以下语句来包含这些文件以及其他 css 和 js 文件

应用程序.js

//= require jquery
//= require jquery_ujs
//= require tinymce-jquery
//= require jquery.ui.autocomplete
//= require_self
//= require_tree .

应用程序.css.erb

/*
 *= require_self
 *= require_tree .
*/

但是,这只是通过资产加载 application.js 和 application.css。

发展.rb

MyApp::Application.configure do
  # Settings specified here will take precedence over those in config/application.rb

  # In the development environment your application's code is reloaded on
  # every request.  This slows down response time but is perfect for development
  # since you don't have to restart the webserver when you make code changes.
  config.cache_classes = false

  # Log error messages when you accidentally call methods on nil.
  config.whiny_nils = true

  # Show full error reports and disable caching
  config.consider_all_requests_local       = true
  # comment out this line:
  # config.action_view.debug_rjs             = true
  config.action_controller.perform_caching = false

  # Don't care if the mailer can't send
  config.action_mailer.raise_delivery_errors = false

  # Print deprecation notices to the Rails logger
  config.active_support.deprecation = :log

  # Only use best-standards-support built into browsers
  config.action_dispatch.best_standards_support = :builtin

  # Do not compress assets
  config.assets.compress = false

  # Expands the lines which load the assets
  config.assets.debug = true
end

导轨:3.1.3 红宝石:2.0.0-p247

请帮忙 :)-

4

1 回答 1

-1

实际上,这是使用require_tree.指令加载 JavaScript 文件的顺序问题。

当我们使用require_tree.它时,假定app/assets/javascripts按字母顺序加载目录中的所有 js 文件。但是对于 javaScript,我们可以按特定顺序加载文件,这样一个文件就不会与另一个文件在任何功能上发生冲突。

require_tree.因此,除非我们只使用少量js文件,否则最好避免使用指令。您可以在清单文件中显式声明每个文件,application.js以便控制顺序。

您正在加载的公共文件可以放在单独的目录下app/assets/,并且可以使用require_directory ./separate_directory_name来加载它(如果它与顺序无关)。

谢谢 :)-

于 2013-07-17T06:34:49.860 回答