当部署服务器未编译样式表和javascripts时。直到最后一刻资产编译。 Ruby 2.1.2p95,Nginx,Unicorn。 我的资产路径: 应用
--->assets
----->javascripts
------->admin
------->design
----->stylesheets
------->admin
------->design
----------->new_design
----------->new_design_work_page
我的production.rb
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = false
config.assets.js_compressor = :uglifier
config.assets.compile = true
config.assets.digest = true
config.assets.version = '1.0'
config.log_level = :info
config.assets.precompile += %w( design/*, admin/*, design/new_design/*.css.scss,
design/new_design_work_page/*.css.scss)
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
application.rb中:
require File.expand_path('../boot', __FILE__)
require 'rails/all'
Bundler.require(*Rails.groups)
module Izotorg
class Application < Rails::Application
config.autoload_paths += %W(#{config.root}/app/models/ckeditor)
config.assets.precompile += %w( design/*, admin/*, design/new_design/*.css.scss,
design/new_design_work_page/*.css.scss)
config.time_zone = 'Moscow'
config.encoding = "utf-8"
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
config.i18n.default_locale = :ru
end
end
答案 0 :(得分:0)
<强>目录强>
好的,我想你可能想看一下Rails globbing,好像你有一个&#34;深&#34;文件夹,它可能无法在没有正确定义文件夹模式的情况下将文件附加到资产管道
您可以在资产manifest
文件或config.assets.precompile
选项中定义通配模式:
-
<强>清单强>
如果您不介意将所有新文件放入这样的中央application.css
文件中:
#app/assets/javascripts/application.css
/*
*= require_tree /design
*/
这将在您预编译时获取该文件的内容,并将它们放入主application.css
文件中。这显然增加了application.css
文件的大小 - 使得知道如何在清单系统之外包含单个文件夹/文件更有益
-
<强>管道强>
如果您想保留多个不同的文件,您需要在Rails资产管道中设置config.assets.precompile
选项:
#config/environments/production.rb
config.assets.precompile += ["design/*"]