【发布时间】:2014-11-20 21:42:09
【问题描述】:
我有一个 SaaS 应用程序,其中一个帐户有很多用户。
在帐户中,帐户所有者可以对申请加入帐户的用户指定某些过滤器。例如,他可以设置必须满足这些要求条件才能接受用户:user.age > 21, user.name.count > 4。
我正在考虑创建一个属于 Account 的 FilterCondition 模型,其中一行可能看起来像 account_id: 1, attribute: "age", condition_string: "> 21" 或 account_id: 1, attribute: "phone_type", condition_string: "== iphone"
然后当我只想接受满足这些条件的用户时,请执行以下操作
#User.rb
def passes_requirements?
account.filter_conditions.each do |filter_conditions|
attr = filter_condition.attribute
return false if self.attr != filter_condition.condition
end
true
end
我知道这是完全错误的语法,但它应该能说明我想要做什么。
任何建议的方法让帐户保存要求条件,然后检查用户以查看他们是否满足这些要求?
【问题讨论】:
标签: sql ruby-on-rails ruby ruby-on-rails-4 filter