我有一个应用程序,我想在其中从MetaWhere迁移到Squeel,为升级到Rails3.1做准备。
这在很大程度上是一个简单的过程,但我有一个案例给我带来了一些问题。问题是我将字段和值都指定为变量。在我的MetaWhere查询中,我可以简单地从字段名中创建符号,然后在查询中使用它,但是Squeel不使用符号,而是依赖于instance_eval,我不知道如何使用它创建类似的查询……
原始查询的图示可以是:
Article.where("#{field_name}".to_sym.matches => '%' + field_value + '%')如何在Squeel中创建类似的查询?
我知道我可以指定我想要使用遗留的symbol功能,但我更愿意完全转换到新的语法。
发布于 2011-11-08 10:56:32
这是可行的:
Article.where{article.send(field_name) =~ '%' + field_value + '%'}小写的“文章”是表名。
https://stackoverflow.com/questions/7361038
复制相似问题