使用 Rails 5 创建 collections 的帖子(如在 Pinterest Boards 中)

Creating collections of posts with Rails 5 (as in Pinterest Boards)

我有 500 多个 posts 并且增长迅速。我想为用户提供一个功能来创建 collections [title, description, posts] 并将 posts 分配给他们。 1 post 可以属于来自不同用户的多个 collection。

示例:

问题:

我应该如何构造此 collection 功能?我应该只做脚手架collections吗?我应该如何在数据库中保存 post id,只是在用逗号分隔的字段中?

谢谢


我需要用户能够创建 collection 并将 1 post 分配给多个 collection。

我的数据库结构应该是这样的:

现有table

table[posts]


table [用户]


新建tables

table[collections]


table [collections_posts]

我认为您需要一个带有 titledescription 字段的单独 Collection 模型,以及用于 has_many 关联的附加 CollectionsPost 模型。

class CollectionsPost < ApplicationRecord
  belongs_to :collection
  belongs_to :post
end
class Collection < ApplicationRecord
  has_many :collections_posts
  has_many :posts, through: :collections_posts
end
class Post < ApplicationRecord
  has_many :collections_posts
  has_many :collections, through: :collections_posts
end

也许 Collection 应该属于用户,如果你想在个人资料页面上显示用户列表 collections。