Seen Post反向关系轨道



所以,我正在创建一个类似rails的社交媒体应用程序,在那里你可以看到用户创建的帖子。我想在其中添加一个"查看者"功能。

基本上,我想创建一个relationshp用户模型中的CCD_ 1。以及live_feed表中的CCD_ 2。

但我想通过只创建一个联接表来管理这一点。每次用户点击帖子时,都会调用一个api,并将帖子附加到userseen_posts数组中。当我调用@user.seen_posts时,它被反映出来。

但是,如果我调用@post.seen_by,我如何将其反转以获得相同的结果。创建第二个联接表并同时附加似乎真的不对

您可以通过以下方法解决问题:

user.rb

has_many :seen_posts, through: :relationships, source: :seen_post

live_feed.rb

has_many :seen_by, through: :relationships, source: :user_seeing

关系.rb

belongs_to :user_seeing, class_name: "User"
belongs_to :seen_post, class_name: "Live_Feed"

使用这种方法,您需要使用"关系"表和相应的外键生成迁移。

最新更新