2016-12-08 2 views
0

Как это сделать, публикация будет опубликована только после того, как администратор будет работать в приложении Ruby on Rails, используя (State_machine или Workflow)?Публикация сообщений после утверждения администратором в Rails

+0

Вам действительно нужно state_machine или рабочий процесс для этого? – bTazi

+0

добавьте столбец «одобрен» к вашей модели Post и создайте интерфейс администратора. Вероятно, вам нужен государственный автомат, если вы отправите электронные письма администратору с сообщением о новых сообщениях. –

ответ

1

Я не стал бы беспокоиться об state_machine или workflow драгоценных камнях, так как у вас очень мало штатов и поведения, привязанных к ним.

Эти драгоценные камни больше подходят для запуска кода, основанного на очень многих состояниях.

Просто взгляните на пример Vehicle в документах state_mahcine.

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

Я достиг того, что вы пытаетесь сделать, прежде чем просто с помощью enum.

Добавить enum в вашу модель под названием status.

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

Вам нужно будет добавить integer столбец status для вашего сообщения.

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

Теперь, когда вы показываете сообщения, просто запрашивайте неопубликованные сообщения.

@posts = Post.published 

Я добавил статусы :draft, :review и :published, но вы можете иметь несколько или много перечислений.

+0

Точно, что я собирался сказать :) – bTazi

+0

@fbelanger Спасибо, очень маш! – Timothy94

Смежные вопросы