假设我有params[:foo] = "bar"
和一些保存的对象attribute = "key.bar"
如何操纵Model.where(attribute: params[:foo])
查询attribute.split(".")[1]
?
答案 0 :(得分:0)
我不确定是否有更好的方法,但我脑海中浮现的第一种方法是使用LIKE
运算符。您可以这样写下您的查询:
Model.where("attribute LIKE '%?'", params[:foo])
注意,根据您发布的示例,我将通配符(%
)放在该位置,以便该属性与以您的参数结尾的任何内容匹配。这假设您的所有属性与您描述的属性相似,但您当然可以根据自己的喜好进行更改。
答案 1 :(得分:0)
上面回答的小改动
Model.where("attribute LIKE '%.?'", params[:foo])
防止匹配.bar和.foobar。