【发布时间】:2017-12-10 21:20:49
【问题描述】:
我有一个 Rails 模型关联设置,其中每个 User has_one Buyer 和特定的 Users 也可以注册为 Seller(has_one 关联)。
还可以将一些买家指定为Elite,作为与Buyer 的另一个has_one 关系。
现在我有一种情况,我想设置一个cron 作业来检查不同buyers 的活动并排除所有sellers 和elite buyers。
我的方法是:
def self.create_daily_user_notifications
@users = User.where({ banned: false, admin: false })
@users = @users.reject {|u| u.seller or u.buyer.elite }
end
这种情况下的问题是,如果存在buyer 没有关联的elite 关系的情况,它实际上会给出错误undefined method elite for buyer。
我猜这是因为在buyer 不是elite 的情况下不存在连接。有什么方法可以让我添加这个检查吗?
【问题讨论】:
-
你的意思是你想继续
u.buyer.elite检查而不是得到错误? -
@Pavan 是的,我希望能够删除所有精英买家的用户,而不会让那些不是精英买家的用户出错
标签: ruby-on-rails database ruby-on-rails-4 activerecord