我浏览了超过10个页面,试图找到与任何其他返回ActiveRecord :: Relation的ActiveRecord类方法相比较的优点.
在下面的例子中,为什么范围比下面的替代方法更好:
#scope :pat1,lambda {{:conditions => ["name like ?",'J%']}} #scope :pat2,lambda {{:conditions => ["id > 5"]}} def self.pat1 where("name like ?",'J%') end def self.pat2 where("id > 5") end def patx self.class.pat1.pat2.first end
文档一遍又一遍地说,范围是有益的,因为它们可以链接…
“所有范围方法都将返回一个ActiveRecord :: Relation对象,该对象将允许调用其他方法(如其他范围).
–guides.rubyonrails.org
“范围比普通类方法更好的主要原因是它们可以用其他方法链接”
http://ruby.railstutorial.org
…但上述替代方案也可以链接产生相同的结果.
只是想弄清楚在这里有没有皇帝的新衣服.即使从句法角度来看似乎没有任何好处.它们是否更快 – 有些来源模糊地表明.
解决方法
原文地址:https://www.jb51.cc/ruby/266833.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。