我有这样的代码:
class Item < ActiveRecord::Base
class << self
def for_category(c)
if c
return where(:category_id => c.id)
else
return self
end
end
end
end
我需要这样称呼它:
Item.where("created_at > ?", Time.now - 1.week).for_category(@category)
@category 可能为空,也可能不为空。在类别为空的情况下,我希望该方法简单地传递并返回关系不变。当然, return self 只是返回 Item 类。
这样做的正确方法是什么?