Ruby on rails Rails中的规范化

Ruby on rails Rails中的规范化,ruby-on-rails,database-design,model,controller,ruby-on-rails-4,Ruby On Rails,Database Design,Model,Controller,Ruby On Rails 4,除了标题之外,我相信我的问题对于Rails专家来说很简单 我正在尽可能地规范我的Rails应用程序。我没有所谓的“用户”表,而是有三个表:“用户”、“工作室”和“音乐家”。工作室和音乐家是用户,但是(属于)和用户可以有一个工作室和一个音乐家(两者都有一个) 到目前为止还不错,但是我如何让“用户”编辑他们的“音乐家”专栏呢 我必须在哪个控制器中执行此操作 在问“你为什么不扮演角色?”。嗯,音乐家有许多工作室所没有的特质,而事实恰恰相反 这些知识对我的应用程序很重要,因为我将让工作室创建“房间”(工

除了标题之外,我相信我的问题对于Rails专家来说很简单

我正在尽可能地规范我的Rails应用程序。我没有所谓的“用户”表,而是有三个表:“用户”、“工作室”和“音乐家”。工作室和音乐家是用户,但是(属于)和用户可以有一个工作室和一个音乐家(两者都有一个)

到目前为止还不错,但是我如何让“用户”编辑他们的“音乐家”专栏呢

我必须在哪个控制器中执行此操作

在问“你为什么不扮演角色?”。嗯,音乐家有许多工作室所没有的特质,而事实恰恰相反

这些知识对我的应用程序很重要,因为我将让工作室创建“房间”(工作室有很多房间),而“房间”将有“约会”(房间有很多约会),最后,用户可以预约(用户有很多)


我不知道如何创建结构,以及它在控制器中是如何创建的。如果有人能帮助我,那就太好了。我正在使用Ruby 2.0和Rails 4.0。提前感谢

由于您在用户和音乐家之间拥有一个并属于一个,因此您始终可以直接访问与用户对象关联的音乐家对象并进行相应的编辑。例如:

last_created_user = User.last
musician = last_created_user.musician
如果每个用户都有一个音乐家,如果没有找到相应的音乐家,它将返回nil。同样也在工作室工作。这就是rails的魅力:)


附言:只是好奇。你真的是音乐家吗?;)

我可以通过用户控制器“编辑”编辑用户“音乐家”属性,只需执行@music=User.find(params[:id])。music?我如何让工作室创造一个房间?User.find(params[:id]).studio.Room.new?谢谢你的回复,事实上,我只是一个音乐爱好者:染料。我建议你在介入之前先通过一次活动记录协会。有不止一种方法可以进行创建。您可以使用User.find(bla-bla).studio.room=room.create(…)。我可能错了。最好只检查一次。因为我也是一个音乐爱好者/玩家!你说的“通过活动唱片协会”是什么意思,有什么教程或类似的东西吗?我怀疑迁移会是怎样的,我必须自己添加外键,对吗?比如,在音乐家中,有一个“用户id”。。。如果你说葡萄牙语,我会推荐我的音乐博客:DAhh…我不懂葡萄牙语:)。关于教程,你可以浏览rails网站。它有一个部分解释活动记录的内容。否则,你总会在谷歌上找到很多解释。我建议您先浏览rails网站。