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

问题描述

我需要在rack_attack.rb文件调用模型以检查ip是否被列入黑名单,或者不知道该怎么做?

/config/initializer/rack_atack.rb

解决方法

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

如果要检查表是否存在,可以这样做:

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

最后,如果要确保在运行该初始化程序之前已运行所有其他初始化程序,则可以将以下代码添加到初始化程序中:

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...