このコードは正しくありません。コントローラーをスキニーにしようとしていますが、コントローラーのアクションにロジックが多すぎるように感じます。
このコードを整理するためのはるかに良い方法は何でしょうか?
def search
where_obj = {:status => 1}
if params[:city].present?
where_obj.merge! :city => params[:city]
end
if params[:county].present?
where_obj.merge! :county => params[:county]
end
## THERE WILL BE MANY MORE IF STATEMENTS HERE DUE TO GROWING SEARCH FORM
@person = Person.where(where_obj)
end
検索フォームが大きくなると、このコントローラーアクションも大きくなります。コントローラをスキニーに保つにはどうすればよいですか?