Rails:帮助设计模型,并将其与其他模型正确地关联起来



我有一个rails应用程序,目前有3个模型:Post, UserMovie。我已经列出了下面模型中的重要字段

Post: id: integer, user_id: integer, location_id: integer, description: string

Movie: id: integer, name: string, rating: decimal, ...

User: id: integer, email: string, encrypted_password: string ...

现在我希望用户能够创建关于电影的帖子,我的网站将显示这些帖子。如果有一个关于电影的预先存在的帖子,那么用户分配给电影的rating应该被添加并与预先存在的评级平均,并且用户分配的description应该被添加到已经存在于电影中的描述列表中。

第一个问题:如何持久地存储描述列表作为Movie模型的一部分?例如,是否可以将字符串数组存储为Movie模型的一部分,或者我是否应该为此目的创建一个新的Description模型?

在此之后,我如何将这些模型关联起来,使它们按照预期运行?我的想法是:

Post -> belongs_to -> User, User -> has_many -> Posts, Post -> has_one -> Movie,但我不确定这是将它们关联的正确方式,我没有:through关联的任何经验(这里可能需要?)

正确的关联是:

User has_many Post
Movie has_many Post
Post belongs_to User
Post belongs_to Movie

需要在posts表中添加一个movie_id列。描述应该留在Post模型中,而不是Movie模型中。当您想要显示特定电影的帖子时,请使用@movie。

相关内容

最新更新