Class: Muck::CommentsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/muck/comments_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/controllers/muck/comments_controller.rb', line 7

def create
  @comment = @parent.comments.build(params[:comment])
  @comment.user = current_user
  @comment.save!
  respond_to do |format|
    format.html do
      redirect_back_or_default(@parent)
    end
    format.json { render :json => { :success => true, :comment => @comment, :parent_id => @parent.id, :html => get_parent_comment_html(@parent) } }
  end
rescue ActiveRecord::RecordInvalid => ex
  if @comment
    @errors = @comment.errors.full_messages.to_sentence
  else
    @errors = ex
  end
  message = t('muck.comments.create_error', :errors => @errors)
  respond_to do |format|
    format.html do
      flash[:error] = message
      redirect_back_or_default(@parent)
    end
    format.json { render :json => { :success => false, :message => message, :errors => @errors } }
  end
end

#destroyObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'app/controllers/muck/comments_controller.rb', line 33

def destroy
  @comment.destroy
  respond_to do |format|
    format.html do
      flash[:notice] = t('muck.comments.comment_removed')
      redirect_back_or_default(current_user)
    end
    format.js do
      render(:update) do |page|
        page << "jQuery('##{@comment.dom_id}').fadeOut();"
      end
    end
    format.json { render :json => { :success => true, :message => t("muck.comments.comment_removed"), :comment_id => @comment.id } }
  end
end