0

在 Rails Guide 上,我看到一个类被定义为

class Person < ActiveRecord::Base
end

然后它写道

>>p = Person.new(:name => "John Doe")
=>#<Person id: nil, name: "John Doe", created_at: nil, :updated_at: nil

既然类 Person 没有字段,为什么在这里将 :name 属性传递给构造函数是有效的?它不应该有一些错误吗?

另外,为什么 id、name、created_at 都没有冒号,而 :updated_at 有一个?

4

2 回答 2

0

因为您的类继承自ActiveRecord::Base并且 ActiveRecords 查看您的数据库并动态创建与相应数据库表中的列匹配的属性。

updated_at也没有专栏。请再仔细看看。这一定是一个错误。

于 2013-03-08T04:38:52.703 回答
0

要查看 ActiveRecord 类中定义的字段,您需要查看该db/schema.rb文件。这将向您显示通过迁移创建的字段。

于 2013-03-08T04:39:14.643 回答