我们可以编写一个类方法,而不是命名范围或范围。
例如:
def self.desc
<code>
end
为什么我们会使用范围?
答案 0 :(得分:3)
您可以使用这两种方法。但是通过方法,当你的范围代码增长时,它会更具可读性。
答案 1 :(得分:2)
我们当然可以编写类似作用域的类方法。当我们没有玩游戏时,它们也是Rails 2.x的一个延续。
对我而言,范围是一种像关联那样“定义”模型的方式。范围使得定义这些东西更好,更清洁,它们通常位于顶部,因此您可以一目了然地看到模型。
我发现当我需要开始传递参数时,我倾向于转向类方法。是的,有一种方法可以做到这一点,但实际上你已经开始想要一个类方法(特别是如果有可选参数,但我相信Ruby 1.9在某种程度上可以解决这个问题)
答案 2 :(得分:1)