从 MetaWhere 迁移到 Squeel 并不再使用符号
我有一个应用程序想要从 MetaWhere 迁移到 Squeel,以准备升级到 Rails 3.1。
这基本上是一个简单的过程,但我有一个案例给我带来了一些问题。问题是我将字段和值都指定为变量。在我的 MetaWhere 查询中,我可以简单地从字段名称中创建符号,然后在查询中使用它,但 Squeel 不使用符号,而是依赖于 instance_eval,我不知道如何使用它创建类似的查询...
插图原始查询的内容可能是:
Article.where("#{field_name}".to_sym.matches => '%' + field_value + '%')
如何在 Squeel 中创建类似的查询?
我知道我可以指定我想要使用旧符号功能,但我宁愿完全转换为新语法。
I have an application where I want to migrate from MetaWhere to Squeel in preparation for an upgrade to Rails 3.1.
This has been mostly a simple process but I have one case that causes me a bit of problems. The problem is that I have both the field and the value specified as variables. In my MetaWhere queries I could simply create symbols out of the field names and then use that in the query but Squeel does not use symbols but instead relies on instance_eval and I cannot figure out how to create a similar query using that...
An illustration of the original query could be:
Article.where("#{field_name}".to_sym.matches => '%' + field_value + '%')
How do I create a similar query in Squeel?
I know I can specify that I want to use the legacy symbol functionality but I would rather fully convert to the new syntax.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是有效的:
小写的“文章”是表名。
This works:
The lowercase 'article' being the table name.