2

In the routes.rb :

  namespace :admin, :format => false do
    resources :activities
    resources :categories
    resources :charities
  end 

Add in all map.resources extra RESTful actions csv_export:

Create initilizer/mapper.rb file and add module ActionDispatch::Routing::Mapper::Resources

module ActionDispatch::Routing::Mapper::Resources
  # Add csv_export to all resources as default action
  def resources(*resources, &block)
    options = resources.extract_options!.dup

    if apply_common_behavior_for(:resources, resources, options, &block)
      return self
    end

    resource_scope(:resources, Resource.new(resources.pop, options)) do
      yield if block_given?

      concerns(options[:concerns]) if options[:concerns]
      collection do
        get :csv_export ,defaults: { format: 'csv' } if   @scope[:path].include?("/admin")
        get  :index if parent_resource.actions.include?(:index)
        post :create if parent_resource.actions.include?(:create)
      end

      new do
        get :new
      end if parent_resource.actions.include?(:new)

      set_member_mappings_for_resource
    end

    self
  end
end
Kaushlendra Tomar
  • 1,410
  • 10
  • 16

0 Answers0