我有一个名为User的模型,我将属性参数中的用户模型存储为一个散列。我已经宣布此专栏作为我的用户模型中的商店,而没有任何访问者,我正在以@user.params
的身份访问它,同时将数据保存到数据库中它工作得很好。但是,我必须按特定标准检索数据。匹配ActiveRecord ::在数据库中存储列
说我有存储使用参数字段中输入用户对象为{检查:真正} 及其他由{检查:真正}
现在我要检索具有用户PARAMS:{检查:真正}
我使用的查询是:
User.where(params: {"checked" => true});
这被投掷的错误为:
INTERNAL ERROR!!! SQLite3::SQLException: no such column: params.checked: SELECT "users".* FROM "users" WHERE "params"."checked" = 't'
我搜索了一大堆关于比较数据库中的两个商店领域,但还没有找到相关的东西。
在此先感谢
你能提供一些这个“params”字段的更多细节 - 它是一个序列化字段吗?实际存储在数据库中的这个字段的对象是否在你的例子中? –
@sharvy我可以访问它没有任何问题 –
@max是的,它是一个序列化的字段我已经使用了活跃的记录存储,请看看:[链接](http://api.rubyonrails.org/classes/ActiveRecord /Store.html) –