Ruby on Rails - ActiveRecord Where



我对轨道上的红宝石有点生疏,希望有人能给我一点指导,说明我缺少什么。 在我的"订单"模型中,我定义了以下内容:

def send_post_action_email
return ProjectEmailLogs.where(project_id: self.project.id)
end

在控制器助手内部,我正在尝试将其用作 if 测试的一部分。 目前我有:

if order.send_post_action_email
//Do Stuff
end

上述测试似乎不起作用。 我试过玩?any之类的东西,但仍然无法让它工作。 基本上,如果查找找到任何匹配的结果,则测试应该是 true - 否则为 false。

提前感谢您的任何帮助!

ActiveRecord where 子句返回匹配对象的数组。如果未找到对象,则返回一个空数组。

order.send_post_action_email.empty?将检查结果是否为空

试试这个

if !order.send_post_action_email.empty?

//Do Stuff

end

最新更新