Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 控制器中数组内容的排序_Sorting_Ruby On Rails 4_Parameters_Controller - Fatal编程技术网

Sorting 控制器中数组内容的排序

Sorting 控制器中数组内容的排序,sorting,ruby-on-rails-4,parameters,controller,Sorting,Ruby On Rails 4,Parameters,Controller,我在“主题”表中有一个“状态”和“类型”。此状态可以包含字符串:“打开”、“进行中”和“关闭”。我想先用“进行中”,然后用“打开”,然后用“关闭”对输出进行排序 在status的排序中,我也想对类型进行排序,类型也可以包含四个不同的字符串 这是否可能(在控制器中),如果可能;如何解决?我通过使用enum解决了这个问题 我删除了字符串列,改为使用整数 schema.db t.integer "status", default: 0 t.integer "casetype", de

我在“主题”表中有一个“状态”和“类型”。此状态可以包含字符串:“打开”、“进行中”和“关闭”。我想先用“进行中”,然后用“打开”,然后用“关闭”对输出进行排序

在status的排序中,我也想对类型进行排序,类型也可以包含四个不同的字符串


这是否可能(在控制器中),如果可能;如何解决?

我通过使用
enum
解决了这个问题

我删除了字符串列,改为使用整数

schema.db

t.integer  "status",     default: 0
t.integer  "casetype",   default: 0
然后我把它添加到我的主题模型中

subject.rb

enum status: ['In progress', 'Open', 'Closed']
enum casetype: %w(Info NFI RFC RFA)
然后我点了这个:

@subjects = Subject.all.order('status ASC, casetype')

有关枚举的详细信息:

您可以使用枚举状态,如下所示
枚举状态:%w(正在进行中\Open Closed)