これは、Rails 3 コードに追加したモデルのクラス メソッドです。
class Micropost < ActiveRecord::Base
def self.without_review
where(review: false)
end
参考までに、「レビュー」を示す schema.db を次に示します。
create_table "microposts", :force => true do |t|
t.text "content"
t.boolean "review", :default => false
end
すべての投稿はデフォルトで review=false に設定されていますが、ユーザーが作成直前にチェックボックスをオンにすると、review=true になります。
これは、フラッシュ メッセージがあるコントローラーです。
def create
@micropost = current_user.microposts.build(params[:micropost])
if @micropost.save
flash[:success] = "Posted"
redirect_to root_path
else
@feed_items = []
render 'static_pages/home'
end
end
review=false の場合は現在と同じ動作が必要ですが、review=true の場合は「投稿済み」ではなく「投稿は審査中です」というメッセージをフラッシュしたい