ruby on rails 3 -打破了我的资产管道



我看了很多关于这个话题的帖子,但似乎找不到解决我问题的组合。如果是重复,很抱歉。

问题是我不确定我走到这一步的顺序。

我在Heroku上开发和生产了一个功能完美的Rails应用程序。然而,在Heroku部署中,我在资产预编译期间得到了一个错误。所以,我改变了设置,所以Heroku会假设"rake asset:precompile"在部署之前已经在本地运行。消除了部署错误,没有问题。有些恼人的是,我现在必须在本地预编译并将文件包含在我的Git存储库中,但我喜欢无错误部署。

无论如何,现在在开发中,CSS的变化并没有即时反映出来。我必须运行"rake assets: precompile"。这可不好。找到一个帖子,删除公共/资产可以解决这个问题,它做到了。

现在Javascript/Coffeescript的更改不会即时反映。

抱歉,描述太啰嗦了。

理想情况下,我会得到一个变化反映在开发中的世界,我不需要在Heroku部署之前运行'rake assets: precompile ',我不会在Heroku预编译期间得到错误。

不太理想的情况是,我只是回到我最初的行为(Heroku在部署时抱怨,但一切都很好)。

如果您想在运行中预编译资产(例如config/production.erb)

config.assets.compile = true
config.assets.precompile << '*.js'

然后查看config/application.rb,您可以选择是否要在部署到生产环境之前预编译

if defined?(Bundler)
  # If you precompile assets before deploying to production, use this line
  Bundler.require(*Rails.groups(:assets => %w(development test)))
  # If you want your assets lazily compiled in production, use this line
  # Bundler.require(:default, :assets, Rails.env)
end

相关内容

  • 没有找到相关文章

最新更新