2010-08-19 28 views
0

有沒有更好的書寫方式?是否可以在一條線上乾淨地做?ActiveRecord條件語法問題

conditions = ["category = ?", params[:category]] if params[:category] 
@events = CalendarEvent.all(:conditions => conditions) 

回答

1

不是真的太多鞏固,但你沒有太多的事情發生,所以應該沒關係。

def action 
    options = {:conditions => ['category=?', params[:category]]} if params[:category] 
    @events = CalendarEvent.find(:all, options) 
end 
+0

我喜歡哈希選項。這將允許我爲其他選項做同樣的事情。 thx – jspooner 2010-08-19 20:35:10

+0

是的,這就是要點:) – s84 2010-08-19 20:59:51

0
@events = CalendarEvent.all(
    :conditions => (params[:category] ? ["category = ?", params[:category]] : nil))