initialize_on_precompile 到底是用来做什么的?
What exactly was initialize_on_precompile used for?
我无法理解 initialize_on_precompile
的用途。 究竟 它是什么意思它是错误的(尤其是当它与 Heroku 相关时)?它是真的意味着什么?
抱歉,如果这个问题太过分了broad/vague,但我似乎无法在任何地方找到答案。
此选项在 Rails 3.x
之前可用,因为当您 运行 rake assets:precompile
它会初始化应用程序并尝试连接到数据库。所以将此选项设置为 false
可以防止它。因此,如果您在连接到数据库时遇到任何问题,rake assets:precompile
将无法正常工作并失败,此选项可确保它正常工作。
来自 Rails Git 回购:
initialize_on_precompile
更改告诉预编译任务 运行 而无需调用 Rails。这是因为预编译任务 运行 默认处于生产模式,并且会尝试连接到您指定的生产数据库。请注意,在使用此选项进行本地编译时,您不能在依赖 Rails 资源(例如数据库)的管道文件中包含代码。
在 Rails 4.x
中,此选项已被删除,不再需要。 Rails 4 现在总是在预编译资产之前加载初始值设定项和数据库配置
我无法理解 initialize_on_precompile
的用途。 究竟 它是什么意思它是错误的(尤其是当它与 Heroku 相关时)?它是真的意味着什么?
抱歉,如果这个问题太过分了broad/vague,但我似乎无法在任何地方找到答案。
此选项在 Rails 3.x
之前可用,因为当您 运行 rake assets:precompile
它会初始化应用程序并尝试连接到数据库。所以将此选项设置为 false
可以防止它。因此,如果您在连接到数据库时遇到任何问题,rake assets:precompile
将无法正常工作并失败,此选项可确保它正常工作。
来自 Rails Git 回购:
initialize_on_precompile
更改告诉预编译任务 运行 而无需调用 Rails。这是因为预编译任务 运行 默认处于生产模式,并且会尝试连接到您指定的生产数据库。请注意,在使用此选项进行本地编译时,您不能在依赖 Rails 资源(例如数据库)的管道文件中包含代码。
在 Rails 4.x
中,此选项已被删除,不再需要。 Rails 4 现在总是在预编译资产之前加载初始值设定项和数据库配置