gpt4 book ai didi

ruby-on-rails - Ruby on Rails,在服务器启动 2.3 上运行一个方法

转载 作者:行者123 更新时间:2023-12-03 15:22:15 26 4
gpt4 key购买 nike

我想在 Rails 服务器启动时运行一个方法。这是一个模型方法。

我尝试使用 config/initializers/myfile.rb,但该方法是在迁移期间调用的,因此它是从一个不存在的表中选择的。

也尝试了 environment.rb,但该类尚不存在(并且可能会遇到与迁移相同的问题)

我不知道该方法放在哪里,所以它只会在服务器启动时运行,而不会在迁移期间运行。

最佳答案

您可以做一些事情来实际改善这一点。问题是当 rake 加载你的环境时你正在运行这段代码,但你真的只想在环境被你的 web 服务器实例加载时运行它。解决这个问题的一种方法是在 rake 加载您的环境时设置一个值,并且在设置该值时不执行您的初始化代码。您可以按如下方式执行此操作:

task :environment => :disable_initializer

task :disable_initializer do
ENV['DISABLE_INITIALIZER_FROM_RAKE'] = 'true'
end

#In your initializer:

ENV['DISABLE_INITIALIZER_FROM_RAKE'] || MyModel.method_call

关于ruby-on-rails - Ruby on Rails,在服务器启动 2.3 上运行一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3790867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com