管理员批准后的发布帖子 Rails

Publication posts after admin approving in Rails

如何使用(State_machine 或 Workflow)在 Rails 应用上的 Ruby 管理员批准后发布帖子?

我不会为 state_machineworkflow 宝石而烦恼,因为与它们相关的状态和行为很少。

这些 gem 更适用于 运行 基于很多状态的代码。

看看 state_mahcine 文档中的 Vehicle 示例。

https://github.com/pluginaweek/state_machine#example

我已经通过简单地使用 enum.

实现了你之前想要做的事情

enum 添加到名为 status 的模型中。

enum status: [:draft, :review, :published]

您需要在您的帖子中添加名为 statusinteger 列。

add_column :posts, :status, :integer, default: 0, null: false

现在,无论您在何处显示帖子,只需查询未发布的帖子即可。

@posts = Post.published

我添加了状态 :draft:review:published,但您可以有尽可能少或更多的枚举。