我的模型包含一些返回true或false的布尔列。例如is_value
具有1或0。
MyModel.all
有没有一种方法可以is_value
在上面的代码行中或通过作用域转换,从而将true和false转换为yes / no?
可以调用模型吗?
您可以is_value
在返回的记录上获取并覆盖该方法。如果您仅出于显示目的而获取记录,并且知道is_value
不会在任何其他上下文中使用记录,则可以这样做。
module TrueToYes
def is_value
super ? "Yes" : "No" # Assuming is_value on MyModel is a boolean
end
end
# For a collection
decorated_models = MyModel.all.map{|model| model.extend(TrueToYes) }
decorated_models.first.is_value # => 'Yes'
# Single Record
my_model = MyModel.first
my_model.is_value # => true
my_model.extend(TrueToYes)
my_model.is_value # => 'Yes'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句