module Concerns::CrudResource

Public Instance Methods

create() click to toggle source
# File lib/crud_resource.rb, line 16
def create
  @resource = resource_scope.new(resource_params)
  if @resource.save
    flash[:notice] = after_create_notice
    redirect_to resources_path
  else
    render :new
  end
end
edit() click to toggle source
# File lib/crud_resource.rb, line 26
def edit
end
index() click to toggle source
# File lib/crud_resource.rb, line 8
def index
  @resources = resource_scope.all
end
new() click to toggle source
# File lib/crud_resource.rb, line 12
def new
  @resource = resource_scope.new
end
update() click to toggle source
# File lib/crud_resource.rb, line 29
def update
  if @resource.update resource_params
    flash[:notice] = after_update_notice
    redirect_to resources_path
  else
    render :edit
  end
end

Private Instance Methods

after_create_notice() click to toggle source
# File lib/crud_resource.rb, line 72
def after_create_notice
  "#{resource_scope.model_name.human} успешно #{resource_sex ? 'добавлен' : 'добавлена'}."
end
after_update_notice() click to toggle source
# File lib/crud_resource.rb, line 68
def after_update_notice
  "#{resource_scope.model_name.human} успешно #{resource_sex ? 'сохранен' : 'сохранена'}." 
end
find_resource() click to toggle source
# File lib/crud_resource.rb, line 64
def find_resource
  @resource ||= resource_scope.find params[:id]
end
permitted_params() click to toggle source
# File lib/crud_resource.rb, line 48
def permitted_params
  []
end
resource() click to toggle source
# File lib/crud_resource.rb, line 60
def resource
  @resource ||= find_resource
end
resource_params() click to toggle source
# File lib/crud_resource.rb, line 52
def resource_params
  params.require(resource_symbol).permit(permitted_params)
end
resource_scope() click to toggle source
# File lib/crud_resource.rb, line 40
def resource_scope
  'Abstract Resource'
end
resource_sex() click to toggle source
# File lib/crud_resource.rb, line 76
def resource_sex() true end
resource_symbol() click to toggle source
# File lib/crud_resource.rb, line 44
def resource_symbol
  resource_scope.to_s.underscore.to_sym
end
resources_path() click to toggle source
# File lib/crud_resource.rb, line 56
def resources_path
  url_for([:admin, resource_scope])
end