我是rails的新手。我有一个名为OfflineExport的模型。在表格中我有这样的数据
#<OfflineExport id: 2,
parameters:
{"project_id"=>"3",
"type"=>"submissions",
"filters"=>{"task_type"=>"",
"corrections"=>"", "grade"=>"",
"min_duration"=>"", "after"=>"",
"max_duration"=>"", "reviews"=>"",
"before"=>""},
"send_email"=>"true",
"options"=>{"offline_record_id"=>2}}>
我试图在where子句中获取参数[&#34; project_id&#34;],如
OfflineExport.where("parameters[project_id] = '3'")
但我得到的错误如下:
ActiveRecord::StatementInvalid: PGError: ERROR: cannot subscript type text because it is not an array
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
您的模型中似乎有一个序列化列。这样的事情:serialize :parameters
。这意味着数据不是以易于阅读的格式存储在数据库中,这导致您无法对其进行查询。 Same as here
解决方案:提取您要查询的字段,并为其创建一列。