gpt4 book ai didi

ruby-on-rails - Ruby on Rails 中的自定义 getter

转载 作者:行者123 更新时间:2023-12-04 05:59:14 25 4
gpt4 key购买 nike

我有一个 MailingList 模型 has_may :people

对于我的大部分应用程序,我只想获得活跃的人

所以 @mailing_list.people 应该只返回活跃的人

在我的模型中,我做不到

def people
self.people.find_all{ |p| !p.activated_at.nil? }
end

因为它一直在调用自己。自动过滤人员的 ruby​​/rails 方法是什么。另一个可能的问题是我认为 self.people 返回一个事件记录对象数组,其中 self.people.find_all... 将返回一个数组。这将导致我的一些代码中断。这很容易修复,但有没有办法返回事件记录对象?如果能有这个选择就好了。

谢谢!

最佳答案

这是命名作用域的完美示例:

class Person < ActiveRecord::Base
named_scope :active, :conditions => 'activated_at is not null'
end

然后调用它:

# equivalent to Person.find(:all, :conditions => 'activated_at is not null')
@active_people = Person.active

关于ruby-on-rails - Ruby on Rails 中的自定义 getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1569447/

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