Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了红宝石轨道 – 轨道上的作用域和示波器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以解释这种方法的作用和可以传递给什么?
scoped(options = nil)
Returns an anonymous scope.

还有什么范围方法呢?阅读文档后我不明白.

解决方法

在ActiveRecord中,所有查询构建方法(如where,order,join,limit等)都会返回所谓的范围.只有当您调用像所有或者第一次的kicker方法,才会执行累积查询,并返回数据库中的结果.

作用域类方法也返回一个范围.返回的范围默认为空意味着结果集将不受任何限制,意味着如果执行查询,则将返回所有记录.
您可以使用它来提供一个“空”的替代方法,如在查询_by_date示例中的MurifoX.
或者您可以使用它将多个条件组合成一个方法调用,例如:

@H_404_2@model.scoped(:conditions => 'id < 100',:limit => 10,:order => 'title ASC') # which would be equivalent to Model.where('id < 100').limit(10).order('title ASC')

范围类方法允许您定义还返回范围的类方法,例如:

class Model
  scope :colored,lambda {|col|
    where(:color => col)
  }
end

可以这样使用:

@H_404_2@model.colored

范围的好处是,您可以根据需要组合它们(几乎),所以以下是绝对可能的:

@H_404_2@model.red.where('id < 100').order('title ASC').scoped(:limit => 10)

我也强烈建议阅读http://guides.rubyonrails.org/active_record_querying.html

大佬总结

以上是大佬教程为你收集整理的红宝石轨道 – 轨道上的作用域和示波器全部内容,希望文章能够帮你解决红宝石轨道 – 轨道上的作用域和示波器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。