gpt4 book ai didi

ruby-on-rails - 模型如何响应方法:find?

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

在过去的两个月里,我一直在努力适应 Rails 和 Ruby,为了能够更清楚地看到大局,我有一个小问题一直困扰着我。

假设我有一个名为 Playlist 的模型,并且我的数据库中已经有一些条目:

class Playlist < ActiveRecord::Base
end

据我所知,我们可以通过以下方式获得一个模型实例,它应该对应于数据库中的原始数据:

p = Playlist.find(2)

首先,结果“p”是模型播放列表的一个实例,对吧?其次,我试图了解“:find”方法的实现位置或模型如何响应它。它是我的模型的类方法还是 ActiveRecord::Base 的类方法?因为我无法在下面的任何输出中列出“:find”。

puts p.class.methods(false).sort
puts p.class.superclass.methods(false).sort
puts p.class.superclass.superclass.methods(false).sort

谢谢。

最佳答案

它是Playlist的一个类方法,它继承自ActiveRecord::Base。

尝试:

ActiveRecord::Base.methods

https://github.com/rails/rails/blob/master/activerecord/lib/active_record/relation/finder_methods.rb

关于ruby-on-rails - 模型如何响应方法:find?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33582687/

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