【问题标题】:Rails 4 + DreamHost FastCGI: Precompiling assets won't change image-url linksRails 4 + DreamHost FastCGI:预编译资产不会更改图像 URL 链接
【发布时间】:2015-05-03 15:03:56
【问题描述】:

我正在使用 FastCGI 的 DreamHost 共享服务器上运行 Rails 4 应用程序,但我似乎无法让资产正常工作。

预编译可以编译 application.css.scss,但 image-urlasset-url 链接不会更改为正确的值(例如 url(/assets/images/image-{digest}.png)。

我听说您可以将其更改为 .css.scss.erb 并使用 ,但如果我能提供帮助,我宁愿不要更改文件中的每个链接它。

我错过了什么吗?我在跑步

bundle exec rake assets:precompile RAILS_ENV=production 和我在production.rb

config.assets.compile = false
config.assets.digest = true

我还没有做什么?

【问题讨论】:

    标签: ruby-on-rails-4 fastcgi dreamhost


    【解决方案1】:

    只是设置问题

    config.serve_static_assets = true
    

    production.rb,然后重新运行

    bundle exec rake assets:precompile RAILS_ENV=production

    发现于:Image urls for Rails 4 + Less not including the hash

    【讨论】:

      【解决方案2】:

      我在 rails-4.2.2 中收到此警告消息:“弃用警告:配置选项 config.serve_static_assets 已重命名为 config.serve_static_files 以阐明其作用(它仅支持提供 public 文件夹中的所有内容,并且是与资产管道无关)。serve_static_assets 别名将在 Rails 5.0 中删除。请相应地迁移您的配置文件。”

      这是我的应用程序默认创建的行。您应该改用 static_files。

      config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
      

      我找到了Rails 4: assets not loading in production 并添加了config.assets.precompile = ['*.js', '*.css', '*.css.erb'],所以你应该可以拥有类似的东西

      config.assets.precompile =  ['*.png', '*.js', '*.css', '*.css.erb']
      

      只需将文件类型添加到数组中

      【讨论】:

        猜你喜欢
        • 2014-07-24
        • 1970-01-01
        • 2012-12-21
        • 1970-01-01
        • 1970-01-01
        • 2014-06-27
        • 1970-01-01
        • 1970-01-01
        • 2013-10-12
        相关资源
        最近更新 更多