Sha256: aa0566d189c962dfd992c04019f2ed0bc49cbd7445534a850ee9f89f331bf47b

Contents?: true

Size: 1.24 KB

Versions: 3

Compression:

Stored size: 1.24 KB

Contents

module SimpleAdmin
  module ResourceController
    module CrudifyDynamicResource
      # Concern that include methods for remote actions
      #
      # @example
      #   class PostsController
      #     include SimpleAdmin::ResourceController::CrudifyDynamicResource
      #
      #     def model_klass
      #       Post
      #     end
      #
      #     private
      #
      #       def resource_params
      #         params.require(:simple_admin_post).permit(:title, :description)
      #       end
      #   end
      #
      # @since 0.1.0

      extend ActiveSupport::Concern

      included do
        def create
          @resource = model_klass.new(resource_params)
          @resource.save

          respond_to do |format|
            format.js { render layout: false }
          end
        end

        def update
          @resource = model_klass.find(params[:id])
          @resource.update(resource_params)

          respond_to do |format|
            format.js { render layout: false }
          end
        end

        def destroy
          @resource = model_klass.find(params[:id])
          @resource.destroy

          respond_to do |format|
            format.js { render layout: false }
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
simple-admin-0.1.2.pre.alpha lib/simple_admin/resource_controller/crudify_dynamic_resource.rb
simple-admin-0.1.1.pre.alpha lib/simple_admin/resource_controller/crudify_dynamic_resource.rb
simple-admin-0.1.0.pre.alpha lib/simple_admin/resource_controller/crudify_dynamic_resource.rb