Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

where do I put the respond_to if there is an if-statement in the controller in rails?

I have a controller that has if-condition:

  def update
    @contact_email = ContactEmail.find(params[:id])

    if @contact_email.update_attributes(params[:contact_email])
      flash[:notice] = "Successfully updated contact email."
      redirect_to @contact_email
    else
      render :action => 'edit'
    end
  end

Where do I put the respond_to block:

respond_to do |format| 
  format.html {}
  format.json {render :json =>@contact_email}
end
like image 646
Satchel Avatar asked Jun 10 '10 04:06

Satchel


1 Answers

def update
  @contact_email = ContactEmail.find(params[:id])
  ok = @contact_email.update_attributes(params[:contact_email])

  respond_to do |format| 
    format.html {
      if ok
        flash[:notice] = "Successfully updated contact email."
        redirect_to @contact_email
      else
        render :action => 'edit'
      end
    }
    format.json {
      if ok
        render :json =>@contact_email
      else
        ...
      end
    }
  end
end
like image 82
zed_0xff Avatar answered Sep 30 '22 20:09

zed_0xff