为什么我们需要在rails中使用命名范围或范围?

时间:2012-04-18 13:40:33

标签: ruby-on-rails ruby

我们可以编写一个类方法,而不是命名范围或范围。

例如:

def self.desc
  <code>
end

为什么我们会使用范围?

3 个答案:

答案 0 :(得分:3)

您可以使用这两种方法。但是通过方法,当你的范围代码增长时,它会更具可读性。

答案 1 :(得分:2)

我们当然可以编写类似作用域的类方法。当我们没有玩游戏时,它们也是Rails 2.x的一个延续。

对我而言,范围是一种像关联那样“定义”模型的方式。范围使得定义这些东西更好,更清洁,它们通常位于顶部,因此您可以一目了然地看到模型。

我发现当我需要开始传递参数时,我倾向于转向类方法。是的,有一种方法可以做到这一点,但实际上你已经开始想要一个类方法(特别是如果有可选参数,但我相信Ruby 1.9在某种程度上可以解决这个问题)

答案 2 :(得分:1)