在Rails指南中,我看到一个类被定义为
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有一个?
答案 0 :(得分:0)
因为您的类继承自ActiveRecord::Base
并且ActiveRecords查看您的数据库并动态创建与相应数据库表中的列匹配的属性。
updated_at
也没有列。请仔细再看。这一定是个错误。
答案 1 :(得分:0)
要查看ActiveRecord类中定义的字段,您需要查看db/schema.rb
文件。这将显示通过迁移创建的字段。