Rails Heroku CSS没有出现在制作中

时间:2017-06-26 23:43:40

标签: ruby-on-rails heroku

所有内容都在使用本地版本,但不适用于Heroku

当我在生产网站上查看源代码时,我可以看到css文件的链接

<link href="/dist/css/example.min.css" rel="stylesheet" type="text/css" />

但是当我点击它时,我得到了默认的

“您要查找的页面不存在。您可能输错了地址或页面可能已移动。”

git status“在分支主机上没有提交工作目录清理”

生产环境

Rails.application.configure do

  config.cache_classes = true
  config.serve_static_assets = true
  config.eager_load = true
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
  config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
  config.assets.js_compressor = :uglifier
  config.assets.compile = true
  config.force_ssl = true
  config.log_level = :debug
  config.log_tags = [ :request_id ]
  config.action_mailer.perform_caching = false
  config.i18n.fallbacks = true
  config.active_support.deprecation = :notify
  config.log_formatter = ::Logger::Formatter.new


  if ENV["RAILS_LOG_TO_STDOUT"].present?
    logger           = ActiveSupport::Logger.new(STDOUT)
    logger.formatter = config.log_formatter
    config.logger = ActiveSupport::TaggedLogging.new(logger)
  end

  config.active_record.dump_schema_after_migration = false
end

不确定从哪里开始。这是唯一一个css链接,当点击它时,会呈现错误页面。所有其他css链接都有效。我出错了什么想法?

更新:所以我决定放弃一段时间休息一下。回来之后,我决定刷新生产环境,它可以在不改变我原来的“原始”文件副本的情况下进行更改,然后再尝试修复问题...所以我不知道发生了什么,也许是heroku的问题?外星人?量子力学磁反转?

2 个答案:

答案 0 :(得分:0)

您必须使用asset_path,将CSS文件移动到app / asssets / stylesheets并在application.scss中添加require

如果您不想使用de asset_path,那么您应该将CSS移动到公共文件夹。

答案 1 :(得分:0)

尝试预编译资产管道。

RAILS_ENV=production bundle exec rake assets:precompile
git add public/assets
git commit -m "vendor compiled assets"
push to github and then heroku