在我的用户模型(Rails 3
,devise
,mongoid
)中,我有一些以前缀开头的字段:
class User
...
field :usr_feature1, type: Boolean
field :usr_feature2, type: Boolean
field :usr_feature3, type: Boolean
field :usr_feature4, type: Boolean
...
end
我需要一个允许检查true
/ false
字段的函数,如下所示:
def check_usr "feature_id"
# return true if e.g. usr_feature1 is true
end
我怎样才能"结合"传入此函数的字段名称的前缀?我能想出的唯一解决方案是创建一个"检查功能"对于每个繁琐的领域,我怀疑有更简单的方法来实现这一点。
答案 0 :(得分:2)
这应该这样做,假设feature_id
是一个数字
def check_usr(feature_id)
!!self["usr_feature#{feature_id}"]
end