【问题标题】:Disabling asset bundling in production, Rails 3.1?在生产中禁用资产捆绑,Rails 3.1?
【发布时间】:2011-11-19 00:50:30
【问题描述】:

我有一个现有的 Rails 应用程序,我正在从 Rails 3.0 升级到 Rails 3.1。开发中一切顺利,但在进入生产阶段时,我的样式表出现故障,显然是由于资产编译。

我想在生产中禁用资产编译,直到我可以解决样式表冲突,但我扔给它的配置开关似乎不起作用。

生产.rb

# Don't fallback to assets pipeline
config.assets.compile = false

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

# Generate digests for assets URLs
config.assets.digest = false

重启Passenger后,application.css是唯一被提供的样式表,包含内联内容。在我的开发环境中:

development.rb

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

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

...这会导致加载多个样式表,而不仅仅是 application.css 和应用程序中的工作样式。

application.rb

=stylesheet_link_tag 'application'
=javascript_include_tag 'application'

application.css

*= require flutie
*= require_self
*= require jquery-ui-1.8.14.custom.css
*= require demo_table

所有资产都设置在 app/assets 中

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.1 asset-pipeline


    【解决方案1】:

    在您的 application.rb 中,您需要禁用它。如果您希望它在生产中像这样在您的 application.rb 中将其保留为 true,然后将 config.assets.enabled = false 放入您的 production.rb

    # Enable the asset pipeline
    config.assets.enabled = false
    

    【讨论】:

    • 嗯,谢谢尼克,我在 application.rb 中将 config.assets_enabled 设置为 false,在 production.rb 中设置为 true,现在我完全损坏了样式表和 js。说找不到application.js和application.css
    • 您可以尝试更改以下行: config.assets.compile = false 为真。这将在遗漏任何内容时编译任何样式表或 javascript。
    • 已设置为 false。 # 不要回退到资产管道 config.assets.compile = false # 不要压缩资产 config.assets.compress = false # 为资产 URL 生成摘要 config.assets.digest = false # 启用资产管道 config.assets.enabled = 假
    • 您是否在部署时编译了资产? RAILS_ENV=production bundle exec rake assets:precompile
    • 那也没明白。问题是它仍然将所有内容捆绑为 application.css,这导致 CSS 无处不在。啊,好吧,无论如何,谢谢你的帮助尼克,我现在投降了,只会修复 CSS
    猜你喜欢
    • 1970-01-01
    • 2012-02-04
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    • 2012-06-10
    • 2013-03-11
    • 2011-12-31
    相关资源
    最近更新 更多