使用 Rails 3(尚未确认这在 Rails 2.x 中是否有所不同),当您使用生成器创建模型时,例如:
rails generate model Person first_name:string last_name:string
它没有在它创建的 Person 模型类上声明 first_name 或 last_name 属性。我知道它仍然有效,即迁移在数据库中创建字段,由于动态语言魔术,我可以在运行时设置它们。但是,我认为模型类是一种“文档”,用于说明模型可用的属性。因此,生成器没有添加它们对我来说很奇怪。
我一直在补充:
attr_accessor :first_name, :last_name
到我的模型课。或者更好的是attr_accessible。但即便如此,也不清楚数据类型是什么。
我只是好奇其他人的想法是什么:
- 为什么生成器默认不这样做?
- 您自己添加访问器吗?为什么或者为什么不?
- 奖励:我可以以某种方式指定数据类型吗?
更新:好吧,忘记 attr_accessor,我明白为什么这没有意义。假设我应该添加 attr_accessible 。尽管如此,仍然希望人们对上述问题的想法。