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

时间:2016-12-08 16:37:38

标签: ruby-on-rails ruby activerecord state-machine

如果使用(State_machine或Workflow)在Ruby on Rails应用程序中管理员应用程序后,该帖子将会发布吗?

1 个答案:

答案 0 :(得分:1)

我不会打扰state_machineworkflow宝石,因为你很少有状态和行为与它们挂钩。

这些宝石更适合运行基于很多州的代码。

只需查看Vehicle文档中的state_mahcine示例。

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

我通过简单地使用enum来实现您之前尝试的目标。

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

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

您需要在帖子中添加名为integer的{​​{1}}列。

status

现在无论您在哪里发布帖子,只需查询未发布的帖子。

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

我添加了状态@posts = Post.published :draft:review,但您可以拥有尽可能少的枚举。