2010-08-19 4 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

+0

예, 그게 포인트 :) – s84

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