use*_*373 5 ruby-on-rails heroku ruby-on-rails-3 ruby-on-rails-5
我在理解initialize_on_precompile使用目的时遇到了麻烦。它是假的到底意味着什么(特别是与Heroku有关)?它是真的意味着什么?
如果这个问题过于笼统/模糊,我们深表歉意,但我似乎找不到任何答案。
此选项一直可用,直到Rails 3.x您运行rake assets:precompile它初始化应用程序并尝试连接到数据库。所以设置这个选项来false防止它。因此,如果您在连接到数据库时遇到任何问题rake assets:precompile将无法工作并且失败,此选项可确保它能够工作。
来自 Rails Git 仓库:
该initialize_on_precompile更改告诉预编译任务在不调用 Rails 的情况下运行。这是因为预编译任务默认在生产模式下运行,并将尝试连接到您指定的生产数据库。请注意,在使用此选项进行本地编译时,管道文件中不能包含依赖于 Rails 资源(例如数据库)的代码。
在Rails 4.x此选项中已删除,不再需要。Rails 4 现在总是在预编译资产之前加载初始化程序和数据库配置
提交来源: https : //github.com/rails/rails/commit/2d5a6de