将列值转换为字符串并以JSON

时间:2017-02-21 18:08:51

标签: ruby-on-rails ruby

我创建了一个用户模型如下:

class User < ActiveRecord::Base

   self.table_name = 'User'

end

用户表具有列状态,其值为0和1

我想在json中显示字符串中的状态值。当用户状态为0时,显示处于非活动状态且处于活动状态时为1。

如何创建进行此转换的方法?

我将在控制器中调用该方法并将结果保存在实例变量中并在视图中调用该实例变量。

由于

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