Sha256: 741fc525b9eae793a1c642de77f835b63ebb59d191cc5399cbd379356b67f464
Contents?: true
Size: 1.36 KB
Versions: 3
Compression:
Stored size: 1.36 KB
Contents
module RailsBlogEngine class CommentsController < RailsBlogEngine::ApplicationController before_filter :load_post load_and_authorize_resource :class => "RailsBlogEngine::Comment" skip_load_resource :create def create @comment = @post.comments.create(params[:comment]) do |c| # Record some extra information from our environment. Most of this # is used by the spam filter. c.author_ip = request.remote_ip c.author_user_agent = request.env['HTTP_USER_AGENT'] c.author_can_post = can?(:create, RailsBlogEngine::Post) c.referrer = request.env['HTTP_REFERER'] end if @comment.valid? @comment.run_spam_filter if @comment.filtered_as_spam? flash[:comment_notice] = "Your comment has been held for moderation." redirect_to(post_permalink_path(@post) + '#comment-flash') else redirect_to(post_permalink_path(@post) + "#comment-#{@comment.id}") end else render "new" end end def mark_as_spam @comment.mark_as_spam! redirect_to(post_permalink_path(@post) + "#comment-#{@comment.id}") end def mark_as_ham @comment.mark_as_ham! redirect_to(post_permalink_path(@post) + "#comment-#{@comment.id}") end protected def load_post @post = Post.find(params[:post_id]) end end end
Version data entries
3 entries across 3 versions & 1 rubygems