ruby-on-rails - 在 Ruby on Rails 中,“Message”类存储在哪里?
问题描述
我试图理解 Ruby On Rails Codecademy 课程中术语的语法和含义。似乎有一个“消息”类是默认类(我尚未定义的类)。
(编辑:原来 Message 不是默认类。它是在 ~/app/models/ 中定义的,我不知道。它是在我输入命令时创建的:
rails generate model Message
。任何读者都可能忽略我剩下的问题,因为它变得无关紧要。)
例如,在 Messages Controller 中定义了以下方法:
~app/controllers/messages_controller
def new
@message = Message.new
end
我理解上面指示创建一个新的实例变量:类的“@message”:“Message”。在我们这样做之前,我们通常必须事先创建一个类“Message”,但我不记得曾经这样做过,这表明 Message 是一个默认类。
所以我的问题是,“消息”类在哪里定义,这些默认操作“新”、“全部”等来自哪里?
我在我的 rails 文件中搜索了“消息”并发现了以下内容:
~app/node_modules/@rails/activestorage/README.md:
64
65 ```ruby
66: class Message < ApplicationRecord
67 has_many_attached :images
68 end
这表明 Message 类继承自 ApplicationRecord 超类。我已经进行了搜索,并且有很多名为“active_record.rb”的文件。这提出了进一步的问题。Ruby 如何知道要引用哪个“active_record.rb”文件?
“active_record.rb”文件之一保存在这里:
~app/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.0.rc1/lib/active_record.rb
解决方案
推荐阅读
- azure - 如何从 Azure 函数返回流?
- ruby-on-rails - 如何将活动记录数据库添加回使用 --skip-active-record 创建的 Rails 5
- node.js - GraphQL/Prisma 客户端服务器错误:变量“$data”不能是非输入类型“LinkCreateInput!”。(第 1 行,第 18 列)
- ruby-on-rails - Rails - 如何删除除一条符合条件的记录之外的所有记录
- java - 如何检测空的多部分数据传输
- python - 需要对字符串 join() 方法进行一点说明
- android-studio - Android Studio 的 Memory Profiler 中的“总计数”指标是什么?
- python - 从右列中删除 NaN 值,同时在左列中保留值
- grails - Grails 使用自动 id 在域持久性中创建附加属性
- php - PHP/Laravel 获取类名中的最后一个单词:App\Models\Example\Class;并将其小写:class