我有这样的代码:
t = "%#{term}%"
where('name like ? or email like ? or postcode like ?', t, t, t)
如您所见,它正在跨多个字段执行搜索。
有没有办法避免重复的 t?这让我觉得很脏。
谢谢
最佳答案
您可以使用命名占位符来执行此操作:
where('name LIKE :name OR email LIKE :name OR postcode LIKE :name', :name => t)
这通常是在查询中多次重复奇异值的最佳方式。
关于ruby-on-rails - 有没有一种 DRY 方法可以将绑定(bind)变量传递给 AR 关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14526389/