我正在使用Rails 3.2.3并部署到Heroku的Cedar Stack,我的资产管道和编译所需的jQuery UI文件存在问题。
具体地,问题表现为两个不同的问题,我认为它们是相关的:
1)在开发中,我的下拉按钮无法正常工作,但在生产中可以
2)在开发中,我的日期选择器和滑块无法正常工作,在生产中也是如此。然而,如果我在视图顶部调用JavaScript(
我已经尝试过本地编译资产以及在slug编译期间编译资产,但都没有成功。
我的application.js:
具体地,问题表现为两个不同的问题,我认为它们是相关的:
1)在开发中,我的下拉按钮无法正常工作,但在生产中可以
2)在开发中,我的日期选择器和滑块无法正常工作,在生产中也是如此。然而,如果我在视图顶部调用JavaScript(
<script src="/assets/jquery-ui.js" type="text/javascript"></script>
),则在开发环境中日期选择器和滑块可以正常工作,但在生产环境中无法正常工作。我已经尝试过本地编译资产以及在slug编译期间编译资产,但都没有成功。
我的application.js:
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require bootstrap
//= require_tree .
我的Gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.3'
gem 'bootstrap-sass', '2.0.0'
gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.5'
gem 'date_validator'
gem 'jquery_datepicker'
group :development, :test do
gem 'sqlite3', '1.3.5'
gem 'rspec-rails', '2.9.0'
gem 'annotate', '~> 2.4.1.beta'
end
group :assets do
gem 'sass-rails', '3.2.4'
gem 'coffee-rails', '3.2.2'
gem 'uglifier', '1.2.3'
end
gem 'jquery-rails', '2.0.0'
group :test do
gem 'capybara', '1.1.2'
gem 'factory_girl_rails', '1.4.0'
end
group :production do
gem 'pg', '0.12.2'
end
我的config/environments/development.rb文件
# Do not compress assets
config.assets.compress = false
# Expands the lines which load the assets
config.assets.debug = true
我的config/environments/production.rb文件:
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs
config.assets.digest = true
我布局的应用程序application.html.erb:
<%= javascript_include_tag "application" %>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
,那么滑块和日期选择器就可以正常工作。但我仍然不知道为什么使用资产管道时它不能正确地工作。 - diasks2