新手问题 在 Heroku 部署 App 后 CSS 没有了

color_huo · 2013年09月15日 · 最后由 fatbigbright 回复于 2014年02月27日 · 3664 次阅读

最近钻研 ruby on rails tutorial 跟着上面的例子在练手,本地完成的界面如下

部署上去以后界面

Gemfile

source 'https://rubygems.org'
ruby '2.0.0'

gem 'rails', '4.0.0'
gem 'bootstrap-sass', '2.3.2.0'

group :development, :test do
  gem 'sqlite3'
  gem 'rspec-rails', '2.13.1'
end

group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'
end

gem 'sass-rails', '4.0.0'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.0'
gem 'jquery-rails', '2.2.1'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg', '0.15.1'
end

gem 'bootstrap-sass', '2.3.2.0'是这条命令没出效果? 还是什么原因?

试试本地编译好以后提交。。先确保本地是正确的,我怀疑你本地 production 下也不出样式。。

项目地址方便贴出来不?

你部署的时候没有 warning? 应该有吧? 这个 gem "rails_12factor"装了吗?

看标题就猜到是 sass/scss

#2 楼 @kai1248 没有 warning 直接 push,gem 也就上面那些,

  • 在本地执行 rails s -e production 查看是否正常
  • 执行 heroku run rake assets:precompile

#6 楼 @song940 本地的 production 环境执行确实也不正常,请问该如何解决?

#7 楼 @color_huo 本地执行 rake assets:precompile

gem "rails_12factor" 要装的

#8 楼 @song940 执行后好像没改变

#10 楼 @color_huo tail -f log/production.log

#9 楼 @zhulinpinyu 但是本地 production 都有问题,

#13 楼 @color_huo

修改 config/environments/production.rb . 将 config.serve_static_assets = false 值修改为 true


让服务器支持静态文件的发送 .默认为 false , 当你使用 nginx 或者 apache 发布时 , 请将此项修改为 false 因为这些服务器解析静态文件的效率会高些 .

#14 楼 @song940 production 和在 heroku 上都成功了,又学到了很多,非常感谢

#15 楼 @zhulinpinyu 装那个 gem 好像才可以 use all platform features

我发现我遇到的是没清理 assets RAILS_ENV=production bundle exec rake assets:clean
RAILS_ENV=production bundle exec rake assets:precompile

#17 楼 @color_huo 你好,我的问题和楼主是一模一样的,但是我根据楼上的更改提交后,页面变成了这样

1.我在 Gemfile 中加了 rails_12factor, 2.config.serve_static_assets = false 值修改为 true 3.本地执行 rake assets:precompile 本地运行成功,但是 push 到 heroku 上就显示上图的效果,

我也遇到了类似的问题,我发现这篇文章的解决方案对我有用,用 production.rb 文件中的config.assets.compile = true语句来实现。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号