2016-12-08 25 views
0

投稿は、(State_machineまたはWorkflow)を使用してRuby on Railsアプリにアドミニストレーションした後でのみ公開されますか?管理者がRailsで承認した後の投稿投稿

+0

本当にstate_machineやワークフローが必要ですか? – bTazi

+0

投稿モデルに「承認済み」列を追加し、管理インターフェースを作成します。あなたが新しい投稿についてのメッセージで管理者に電子メールを送るのであれば、状態マシンはおそらくあなたを必要とします。 –

答えて

1

私はstate_machineまたはworkflowの宝石では気にしません。なぜならあなたは状態と行動が非常に少ないからです。

これらの宝石は、非常に多くの州に基づくコードを実行するためのものです。

state_mahcineドキュメントのVehicleの例をご覧ください。

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

私はあなたが単にenumを使用して前に何をしようとして達成しました。

enumstatusというモデルに追加します。

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

あなたの投稿にstatusと呼ばれるinteger列を追加する必要があります。

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

ここで、投稿が表示されているところはすべて、未公開の投稿にクエリを出すだけです。

@posts = Post.published 

私は状況に:draft:review:publishedを追加しましたが、あなたは、いくつかのまたは多くの列挙型として持つことができます。

+0

私が言うつもりだったもの: – bTazi

+0

@fbelanger非常にありがとう! – Timothy94

関連する問題