2
如果params[:foo]
发送,然后过滤:在Rails中有没有一种习惯用法的方法(params [:foo] ||'*')?
@submissions = Submission.where(foo: params[:foo])
.order("#{params[:sort]} #{ params[:direction]}")
如果没有,那么
@submissions = Submission.order("#{params[:sort]} #{ params[:direction]}")
什么是惯用的方式做到这一点?
是否可以使用通配符:params[:foo] || '*'
你是怎么说“跑多余的地方”? – 2015-03-30 23:59:02
当你有'where(“foo like'%'”)'时,这将执行where子句。另外,我希望你已经在这个'foo'列中定义了一个索引。 – vee 2015-03-31 00:00:36
你可以链接'where's - 它们不需要评估(即不调用数据库),所以你可以在新行上添加'.where(...)'子句 - 它们对于做有条件的'where'是很有用的。 这里的模式vee是我过去使用过的,是一个很好的模式。 – 2015-03-31 00:02:00