如何在Ruby on Rails 4中创建一个具有比其父项更多属性的继承模型?

时间:2013-10-12 11:12:25

标签: mysql ruby-on-rails ruby rails-migrations

我需要在我的数据库中创建这个结构: 用户   |   | _admin   |   | _Moderator   |   | _Visitor

我所做的是以这种方式创建父用户:

rails g model user name:string mail:string password:string description:string age:integer

孩子们:

rails g model admin modules_to_admin:string --parent user
rails g model moderator days_to_moderate:string --parent user
rails g model visitor number_of_visits:integer --parent user

Rails创建了三个模型,我可以创建和管理员,主持人或访客,但他们没有自己的属性......既没有创建迁移,所以我不知道在哪里做将数据存储在我的数据库中。

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

您仍需要生成迁移脚本以向User添加列。基本上,管理员,主持人和访客正在使用他们的父表,在这种情况下是“用户”。

如果要使用不同的表,请不要使用此单表继承,而是使用自己的表生成模型。并且,使用良好的ole关联来链接它们。