我想运行控制器查询并排除当前(自)记录。我可以使用:
Model.where.not(slug: params[:id])
在您成功传递记录ID之前,效果很好。
是否有更清洁的直接方法?
更新
我澄清了我的例子。我想搜索id或slug列不等于params [:id]的地方。在任何正常范围或我运行的查询之后,这也必须链接。
答案 0 :(得分:0)
您可以编写此查询
Model.where('slug <> :param_id or id <> :param_id', {param_id: params[:id]})
答案 1 :(得分:0)
您可以使用or:
Model.where.not(slug: params[:id]).or(Model.where.not(id: params[:id]))
或者您可以重写查询:
Model.where('slug <> :param_id or id <> :param_id', {param_id: params[:id]})