Rails模型-更改为是

用户名

我的模型包含一些返回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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章