用讲座控制器在用户数据库中添加新列

时间:2014-05-17 16:44:29

标签: ruby-on-rails database

我有一些用户的小系统。 具有admin-rights的用户可以创建新的讲座。 那已经有了。

现在我想解决用户可以报名参加讲座的问题。 所以我想添加一个新列(布尔类型),例如在我创建新讲座时,在我的用户数据库中讲课1。因此,如果用户注册,我可以将变量设置为true。

这是一个好主意还是更好的是拥有一个带有exercise_id,user_id的数据库(例如signupstatus)。当有条目时,用户已经注册了讲座。

或者有人有更好的主意吗?

谢谢:)

1 个答案:

答案 0 :(得分:1)

表总是更好。对于要添加到系统中的每个新讲座,您永远不会想要在lecture1表中创建此类列(User ...)。想象一下这些列的系列[lecture1lecture2lecture3lecturen ...] => 完全不同寻常并反对设计原则。

您想要的是简单的多对多关系。许多Lecture可以注册users; User可以订阅许多lectures

您应该按照this guide来实现它 这将创建一个表格lectures_users并存储lecture_iduser_id以维持关系