gpt4 book ai didi

ruby-on-rails - 参数错误 : The scope body needs to be callable

转载 作者:行者123 更新时间:2023-12-03 07:15:53 24 4
gpt4 key购买 nike

我正在学习“Ruby On Rails 3 基本培训”,但在使用名称范围时遇到了问题。当使用 Rails 控制台查找记录和使用查询时,一切都很顺利,直到我尝试在 subject.rb 文件中使用名称范围。这是我在 subject.rb 文件中的代码。

Class Subject < ActiveRecord::Base

scope :visible, where(:visible => true)

end

我保存了 .rb 文件并重新启动了 Rails 控制台,但是当我从 Rails 控制台运行时:

subjects = Subject.visible

我得到:ArgumentError:作用域主体需要可调用。

有谁知道为什么我会收到此错误。

最佳答案

作用域的主体需要包裹在可调用的东西中,例如 Proc 或 Lambda:

scope :visible, -> {
where(:visible => true)
}

这样做的原因是它确保每次使用作用域时都会评估 block 的内容。

关于ruby-on-rails - 参数错误 : The scope body needs to be callable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28951671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com