あなたが投稿したリンクは方法ですが、私はオブジェクトを保存してブール値のフラグを設定することを好みます.publicをfalseにしましょう(:default => falseは移行で定義されています)。次に、基本的に行うことは、実際に投稿を作成し、アクションを表示するようにリダイレクトすることです。ここには、編集ボタン (レンダリング編集アクション)、投稿ボタン (パブリック フラグを true に設定するカスタム アクション)、およびキャンセル ボタン (実際に投稿を削除する) があります。後で続行ボタンを押すと、投稿が保持され、他のページにリダイレクトされるため、ユーザーは後で戻って編集を完了することができます。
すべての投稿を表示する必要がある場合は、named_scope :visible, :conditions => ['posts.public = ?', true] を定義し、index および同様のアクションで Post.all の代わりに Post.visible を呼び出します。条件 ['posts.public = ?', false] を使用して default_scope を定義することもできますが、表示されていない投稿を見つけたい場合は、#without_scope を使用する必要があることに注意してください。
この方法は、リンクの方法よりも優れています。ユーザーはいつでも後で戻ってきて、投稿の編集と公開を完了することができるからです。ただし、より多くのオブジェクトを DB に保存し、非表示の投稿を処理する必要があります (デフォルトでは表示しないなど)。