在 Heroku 上部署需要 application.rb 中的 config.assets.initialize_on_precompile=false
。来自Rails Guide它说这“部分加载您的应用程序”。
所以我想知道在编译 Assets (例如 *.js.erb)中设置一些常量的最佳实践是什么?将此标志设置为 false 后,我无法使用初始化程序中设置的任何内容。我不是很清楚应用程序的哪些部分被加载,以及我如何能够在执行编译步骤之前设置任何常量、变量等。
谢谢!
最佳答案
我遇到了类似的情况,幸运的是我能够轻松解决它。我知道 config.assets.initi....
正在 heroku 上执行,因为 heroku 文档要求它。在此之前,我只需要手动加载我的初始化文件。我只想要一个 /config/initializers/settings.rb
文件,所以我为此添加了一个要求。这解决了问题。
...
#at the end of the /config/application.rb file
require Rails.root.join("config/initializers/settings") #this is not loaded automatically in the assets:precompile task, that's why we need this
config.assets.initialize_on_precompile = false
...
关于ruby-on-rails - 当 config.assets.initialize_on_precompile 为 false 时设置常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8951496/