我有一个包含表用户和表黑名单的数据库
在我的用户模型中,我想搜索用户 ID 是否存在于列 legacy_logid 的黑名单表中。
所以我定义
def blacklist_ip
if Blacklists.legacy_logid == user.id
Blacklists.value
else
nil
end
end
在我看来,这似乎是一种非常简单的方法,可以要求检查表格并查看用户 ID 是否在其中。但不是 ..
uninitialized constant User::Blacklists
那么如何在这个模型中访问不同表中的记录。legacy_logid 是表的属性 - 我要做的就是查找它。
如果我尝试使用 ::Blacklists 我会得到
uninitialized constant Blacklists
如果我尝试
def blacklist_ip
if Blacklist.legacy_logid == user.id
Blacklist.value
else
nil
end
end
我明白了
Undefined method `legacy_logid' for #<Class:0x00000006407e40>
我将黑名单定义为
class Blacklist < ActiveRecord::Base
end
它不是我想要查找的方法 - 它是一个属性,但这似乎只能以不合逻辑的方式访问。