我来自 Java 背景,并且已经开始学习 Ruby on Rails。考虑http://guides.rubyonrails.org/active_record_basics.html 中提到的以下代码
class Product < ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)
该指南提到,这会创建一个映射到表 products 的模型 Product(使用 ruby 的复数机制)。它还提到,“通过这样做,您还可以将表中每一行的列与模型实例的属性进行映射。”
但是我们没有在模型 Product 中声明任何属性。它怎么知道它的属性是什么?
一个假设:表的每个属性都作为模型的一个属性。这是真的吗?那么,我们是不是先创建SQL表呢?如果我稍后更改表(例如添加新列),它是否也会动态更改我的模型?