Sha256: 0087b9db0392a648da6f818702828558b519142abfecb56eb58a0d0229bc8d3b

Contents?: true

Size: 1.16 KB

Versions: 6

Compression:

Stored size: 1.16 KB

Contents

class Manage::<%= controller_class_name %>Controller < Manage::BaseController
  inherit_resources
  defaults :route_prefix => 'manage'  
  belongs_to :<%= parent_singular_name %>
  
  before_filter :make_filter, :only=>[:index]
  
  load_and_authorize_resource :<%= singular_name %>, :through => :<%= parent_singular_name %>
  
  def create
    create!{ manage_<%= parent_singular_name %>_<%= plural_name %>_path(@<%= parent_singular_name %>.id) }
  end
  
  def update
    update!{ manage_<%= parent_singular_name %>_<%= plural_name %>_path(@<%= parent_singular_name %>.id) }
  end
  
  def destroy
    destroy!{ manage_<%= parent_singular_name %>_<%= plural_name %>_path(@<%= parent_singular_name %>.id) }
  end
  
  protected
    
    def begin_of_association_chain
      @<%= parent_singular_name %>
    end
    
    def collection
      @<%= plural_name %> = (@<%= plural_name %> || end_of_association_chain).merge(@search.scoped).page(params[:page])
    end
    
    def make_filter
      @search = Sunrise::ModelFilter.new(<%= model_name %>, :attributes=>[ <%= model.attributes.keys.map{ |a| ":#{a}" }.join(', ') %> ] )
      @search.update_attributes(params[:search])
    end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sunrise-scaffold-0.1.5 lib/generators/sunrise/scaffold/templates/multiplay/controller.rb
sunrise-scaffold-0.1.4 lib/generators/sunrise/scaffold/templates/multiplay/controller.rb
sunrise-scaffold-0.1.3 lib/generators/sunrise_scaffold/templates/multiplay/controller.rb
sunrise-scaffold-0.1.2 lib/generators/sunrise_scaffold/templates/multiplay/controller.rb
sunrise-scaffold-0.1.1 lib/generators/sunrise_scaffold/templates/multiplay/controller.rb
sunrise-scaffold-0.1.0 lib/generators/sunrise_scaffold/templates/multiplay/controller.rb