Ruby on rails ActiveRecord条件语法问题

Ruby on rails ActiveRecord条件语法问题,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,有没有更好的写作方法?有可能在一条生产线上干净利落吗 conditions = ["category = ?", params[:category]] if params[:category] @events = CalendarEvent.all( :conditions => conditions ) 实际上没有太多的东西需要巩固,但你没有太多的事情要做,所以应该没关系 def action options = {:conditions => ['category=?'

有没有更好的写作方法?有可能在一条生产线上干净利落吗

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

实际上没有太多的东西需要巩固,但你没有太多的事情要做,所以应该没关系

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

我喜欢散列选项。这将允许我对其他选项做同样的事情。谢谢
@events = CalendarEvent.all(
   :conditions => (params[:category] ? ["category = ?", params[:category]] : nil))