Advertisement
Guest User

PG::TRDeadlockDetected : Respondable Concern

a guest
Jun 12th, 2014
403
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.66 KB | None | 0 0
  1. module Respondable
  2.   private
  3.  
  4.   def respond_smart_with(resource, msg = {}, location = nil)    
  5.     if resource.respond_to?(:errors) && !resource.errors.empty?
  6.       case action_name.to_sym
  7.         when :create
  8.           render action: :new
  9.         when :update
  10.           render action: :edit
  11.         when :destroy
  12.           render action: :delete
  13.         else
  14.           render action: :index
  15.       end
  16.     else
  17.       display_name = resource.respond_to?(:display_name) ? resource.display_name : 'Resource'
  18.       case action_name.to_sym
  19.         when :create
  20.           notice = "#{display_name} has been created."
  21.         when :update
  22.           notice = "#{display_name} has been updated."
  23.         when :destroy
  24.           notice = "#{display_name} has been deleted."
  25.       end
  26.       respond_to do |format|
  27.         format.html do
  28.           if !params[:silent].present? or !params[:silent]
  29.             if msg.empty?
  30.               flash[:notice] = notice if notice and resource.display_name != 'QRID'
  31.             else
  32.               msg.each { |key, value| flash[key] = value }
  33.             end
  34.           end
  35.           if params[:return_path].present?
  36.             redirect_to(params[:return_path])
  37.           else
  38.             redirect_to(location ? location : url_for(controller: controller_name, action: :index))
  39.           end
  40.         end
  41.         format.js do
  42.           if !params[:silent].present? or !(params[:silent] == "true")
  43.             if msg.empty?
  44.               flash.now[:notice] = notice if notice
  45.             else
  46.               msg.each { |key, value| flash.now[key] = value }
  47.             end
  48.           end
  49.         end
  50.       end
  51.     end
  52.   end
  53. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement