我创建了一个用户模型如下:
class User < ActiveRecord::Base
self.table_name = 'User'
end
用户表具有列状态,其值为0和1
我想在json中显示字符串中的状态值。当用户状态为0时,显示处于非活动状态且处于活动状态时为1。
如何创建进行此转换的方法?
我将在控制器中调用该方法并将结果保存在实例变量中并在视图中调用该实例变量。
由于
答案 0 :(得分:0)
执行此操作的一种方法是创建一个将返回所需字符串的实例方法:
def status_str
case status
when 0
"active"
when 1
"archived"
end
end
但更好的方法是使用ActiveRecord Enum:
enum status: [ :active, :archived ]
要使这项工作,您的status
列需要是整数数据类型,而不是布尔值。有关详细信息,请参阅ActiveRecord Query Guide under Enums。