rails 我可以在初始化文件中调用模型吗

rails can I call model inside initializer files

我需要调用 rack_attack.rb 文件中的模型来检查 ip 是否已列入黑名单,不知道该怎么做?

/config/initializer/rack_atack.rb

只要您的迁移已经执行并且相关模型的 table 已经存在,我相信您将能够像往常一样从初始化文件调用您的模型:Model.method() .

如果你想检查table是否存在,你可以这样做:

if ActiveRecord::Base.connection.table_exists? :settings
   Model.method()
end

最后,如果您想确保所有其他初始化器在 运行 之前都具有 运行,您可以将以下代码添加到您的初始化器中:

# config/initializers/rack_attack.rb
Rails.configuration.after_initialize do
   Model.method()
end