【发布时间】:2014-10-16 19:14:26
【问题描述】:
这对我来说已经有一段时间了,但我仍然无法弄清楚资产管道在 Rails 4 中是如何工作的。我终于学会了如何预编译资产,但在部署后又一次,我的 CSS样式表没有更新。
我通过转到开发人员工具并查看源代码确认了这一点。它看起来与我的 CSS 文件不同。我的猜测是问题出在我的 production.rb 文件中。
Production.rb
Games::Application.configure do
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = true
config.assets.js_compressor = :uglifier
config.assets.compile = true
config.assets.digest = true
config.assets.version = '1.0'
config.log_level = :info
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
end
Application.rb
require File.expand_path('../boot', __FILE__)
require 'rails/all'
Bundler.require(*Rails.groups)
module Games
class Application < Rails::Application
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
config.exceptions_app = self.routes
end
end
这是我的 Application.html.erb 文件和助手。
<!DOCTYPE html>
<html>
<head>
<title><%= @title %></title>
<%= stylesheet_link_tag "application", media: "all",
"data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
<%= render 'layouts/footer' %>
</body>
</html>
宝石文件
gem 'rails', '4.0.4'
group :development, :test do
gem 'sqlite3', '1.3.8'
gem 'rspec-rails', '2.13.1'
end
group :production do
gem 'pg', '0.17.1'
gem 'rails_12factor'
end
group :test do
gem 'selenium-webdriver', '2.35.1'
gem 'capybara', '2.1.0'
end
gem 'sass-rails', '~> 4.0.2'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'sprockets-rails', '~> 2.0.0'
gem 'bootstrap-sass', '2.3.2.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
这是我采取的步骤
heroku run rake assets:precompile RAILS_ENV=production
git add .
git commit
git push heroku master
现在,也许我弄错了,但是运行了 git add 。 (意味着添加所有文件)它也应该加载最新的样式表。但是再一次,Heroku 似乎失败了。
这以前发生过,而且越来越烦人,所以我想找到一个解释。
感谢您的宝贵时间。
编辑:
我想我现在知道问题所在了。我的样式表永远不会更新到我的 public/assets 文件夹。我不知道我能做些什么让它们出现在那里。
【问题讨论】:
-
如何在布局中包含 css 文件?
标签: css ruby-on-rails ruby heroku asset-pipeline