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