gpt4 book ai didi

ruby-on-rails - ActiveRecord::Relation 上的类方法调用如何获取上下文?

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:40 25 4
gpt4 key购买 nike

为什么文档中的这段代码有效? http://api.rubyonrails.org/classes/ActiveRecord/Scoping/Named/ClassMethods.html

class Article < ActiveRecord::Base
scope :featured, where(:featured => true)

def self.titles
map(&:title)
end
end

Article.featured.titles

在我的控制台中得到:

NoMethodError: undefined method `map' for #<Class:0xb70bfb0>

最佳答案

如果此特定行为在 Rails 3.x 中与在 Rails 4.x 中相同,那么您可以尝试:

class Article < ActiveRecord::Base
scope :featured, where(:featured => true)

def self.titles
all.map(&:title)
end
end

Article.featured.titles

@Nermin 在 Rails model class method for collection of objects 中礼貌地回答并复制在这里供后代使用。 Dupe-ish,但也许不是因为我相信 Rails 版本是不同的。

顺便说一句,我还提交了 https://github.com/rails/rails/issues/21943因为这充其量是一个误导性的文档问题,或者在最坏的情况下是一个错误。

关于ruby-on-rails - ActiveRecord::Relation 上的类方法调用如何获取上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14195591/

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