class Marten::Handlers::RecordDelete
Overview
Handler allowing to delete a specific model record.
This handler can be used to delete an existing model record for POST requests. Optionally the handler can be accessed with GET request and a template can be displayed in this case; this allows to show a confirmation page to users before deleting the record:
class ArticleDeleteHandler < Marten::Handlers::RecordDelete
  template_name "article_delete.html"
  success_route_name "article_delete_success"
endIt should be noted that the redirect response issued will be a 302 (found).
The #template_name class method allows to define the name of the template to use to render a deletion
confirmation page while the #success_route_name method can be used to specify the name of a route to redirect to
once the deletion is complete. Alternatively, the #sucess_url class method can be used to provide a raw URL to
redirect to. The same method can also be overridden at the instance level in order to rely on a custom logic to
generate the sucess URL to redirect to.
Included Modules
Extended Modules
Defined in:
marten/handlers/record_delete.crClass Method Summary
- 
        .lookup_field : String
        
          Returns the name of the model field that will be used to retrieve the record (defaults to pk).
- 
        .model : DB::Model.class | Nil
        
          Returns the configured model class. 
- 
        .record_context_name(name : String | Symbol)
        
          Allows to configure the name to use to include the model record into the template context. 
- 
        .record_context_name : String
        
          Returns the name to use to include the model record into the template context (defaults to record).
- 
        .success_route_name(success_route_name : String | Nil)
        
          Allows to set the route name that should be resolved to produce the URL to redirect to after the deletion. 
- 
        .success_route_name : String | Nil
        
          Returns the route name that should be resolved to produce the URL to redirect to after deleting the record. 
- 
        .success_url(success_url : String | Nil)
        
          Allows to configure a raw URL to redirect to after the deletion 
- 
        .success_url : String | Nil
        
          Returns the configured raw URL to redirect to after deleting the record. 
Instance Method Summary
- 
        #context
        
          Returns a hash containing the template context or nil.
- 
        #post
        
          Handles a POSTHTTP request and returns aMarten::HTTP::Responseobject.
- 
        #success_url
        
          Returns the URL to redirect to after the deletion is complete. 
Instance methods inherited from module Marten::Handlers::RecordRetrieving
  
  
    
      model : Model.class
    model, 
    
  
    
      queryset
    queryset, 
    
  
    
      record
    record
    
  
    
    
  
    
  Instance methods inherited from class Marten::Handlers::Template
  
  
    
      context
    context, 
    
  
    
      get
    get
    
  
    
    
  Class methods inherited from class Marten::Handlers::Template
  
  
    
      template_name : String | Nil
    template_name
    
  
  
    
  Instance methods inherited from module Marten::Handlers::Rendering
  
  
    
      get_response(content)
    get_response, 
    
  
    
      render_template(context : Hash | NamedTuple | Nil | Marten::Template::Context)
    render_template, 
    
  
    
      render_to_response(context : Hash | NamedTuple | Nil | Marten::Template::Context)
    render_to_response, 
    
  
    
      template_name : String
    template_name
    
  
    
    
  
    
  Instance methods inherited from class Marten::Handlers::Base
  
  
    
      delete
    delete, 
    
  
    
      dispatch : Marten::HTTP::Response
    dispatch, 
    
  
    
      get
    get, 
    
  
    
      head(status : Int32) : HTTP::Responsehead head, json(raw_json : String, status = 200)
json(serializable, status = 200) json, options options, params : Hash(String, Int16 | Int32 | Int64 | Int8 | String | UInt16 | UInt32 | UInt64 | UInt8 | UUID) params, patch patch, post post, put put, redirect(url : String, permanent = false) redirect, render(template_name : String, context : Hash | NamedTuple | Nil | Marten::Template::Context = nil, content_type = HTTP::Response::DEFAULT_CONTENT_TYPE, status = 200) render, request : Marten::HTTP::Request request, respond(content = "", content_type = HTTP::Response::DEFAULT_CONTENT_TYPE, status = 200) respond, response : Marten::HTTP::Response? response, response! response!, reverse(*args, **options)
reverse(*args, **options, &) reverse, trace trace
Constructor methods inherited from class Marten::Handlers::Base
  
  
    
      new(request : HTTP::Request, params : Hash(String, Routing::Parameter::Types))new(request : HTTP::Request) new
Class methods inherited from class Marten::Handlers::Base
  
  
    
      http_method_nameshttp_method_names(*method_names : String | Symbol) http_method_names
Instance methods inherited from module Marten::Handlers::Session
  
  
    
      session(*args, **options)session(*args, **options, &) session
Instance methods inherited from module Marten::Handlers::RequestForgeryProtection
  
  
    
      get_csrf_token
    get_csrf_token, 
    
  
    
      referer_trusted?
    referer_trusted?
    
  
    
    
  
    
  Instance methods inherited from module Marten::Handlers::Flash
  
  
    
      flash(*args, **options)flash(*args, **options, &) flash
Instance methods inherited from module Marten::Handlers::Cookies
  
  
    
      cookies(*args, **options)cookies(*args, **options, &) cookies
Class Method Detail
Returns the name of the model field that will be used to retrieve the record (defaults to pk).
Allows to configure the name to use to include the model record into the template context.
Returns the name to use to include the model record into the template context (defaults to record).
Allows to set the route name that should be resolved to produce the URL to redirect to after the deletion.
Returns the route name that should be resolved to produce the URL to redirect to after deleting the record.
Defaults to nil.
Allows to configure a raw URL to redirect to after the deletion
Returns the configured raw URL to redirect to after deleting the record.
Defaults to nil.
Instance Method Detail
Returns a hash containing the template context or nil.
The default implementation returns nil.
Handles a POST HTTP request and returns a Marten::HTTP::Response object.
The default implementation will return a 405 (not allowed) response.
Returns the URL to redirect to after the deletion is complete.
By default, the URL will be determined from the configured #success_url and #success_route_name values. This
method can be overridden on subclasses in order to define any arbitrary logics that might be necessary in order
to determine the deletion success URL.