class CommentsController < ApplicationController before_filter :get_comment, only: [:raw, :edit, :update, :destroy] respond_to :html, :js def index @comments = Comment.recent.filtered end def show @comments = Comment.recent5.all conditions: {commentable_id: params[:id2], commentable_type: params[:id]} render partial: 'list', layout: false end def edit raise AccessError unless @comment.can_update? cuser end def create @comment = Comment.new params[:comment] @comment.user = cuser raise AccessError unless @comment.can_create? cuser respond_to do |format| if @comment.save flash[:notice] = t(:comments_create) format.js { render } else flash[:error] = t(:comments_invalid) + @comment.errors.full_messages.to_s format.html { redirect_to(:back)} end end end def update raise AccessError unless @comment.can_update? cuser if @comment.update_attributes params[:comment] flash[:notice] = t(:comments_update) return_to else render :edit end end def destroy raise AccessError unless @comment.can_destroy? cuser @comment.destroy redirect_to_back end private def get_comment @comment = Comment.find params[:id] end end