Class: Devise::ConfirmationsController

Inherits:
DeviseController show all
Defined in:
app/controllers/devise/confirmations_controller.rb

Instance Method Summary collapse

Instance Method Details

#after_confirmation_path_for(resource_name, resource) ⇒ Object (protected)

The path used after confirmation.



40
41
42
43
44
45
46
# File 'app/controllers/devise/confirmations_controller.rb', line 40

def after_confirmation_path_for(resource_name, resource)
  if signed_in?(resource_name)
    signed_in_root_path(resource)
  else
    new_session_path(resource_name)
  end
end

#after_resending_confirmation_instructions_path_for(resource_name) ⇒ Object (protected)

The path used after resending confirmation instructions.



35
36
37
# File 'app/controllers/devise/confirmations_controller.rb', line 35

def after_resending_confirmation_instructions_path_for(resource_name)
  is_navigational_format? ? new_session_path(resource_name) : '/'
end

#create {|resource| ... } ⇒ Object

POST /resource/confirmation

Yields:



8
9
10
11
12
13
14
15
16
17
# File 'app/controllers/devise/confirmations_controller.rb', line 8

def create
  self.resource = resource_class.send_confirmation_instructions(resource_params)
  yield resource if block_given?

  if successfully_sent?(resource)
    respond_with({}, location: after_resending_confirmation_instructions_path_for(resource_name))
  else
    respond_with(resource)
  end
end

#newObject

GET /resource/confirmation/new



3
4
5
# File 'app/controllers/devise/confirmations_controller.rb', line 3

def new
  self.resource = resource_class.new
end

#show {|resource| ... } ⇒ Object

GET /resource/confirmation?confirmation_token=abcdef

Yields:



20
21
22
23
24
25
26
27
28
29
30
# File 'app/controllers/devise/confirmations_controller.rb', line 20

def show
  self.resource = resource_class.confirm_by_token(params[:confirmation_token])
  yield resource if block_given?

  if resource.errors.empty?
    set_flash_message(:notice, :confirmed) if is_flashing_format?
    respond_with_navigational(resource){ redirect_to after_confirmation_path_for(resource_name, resource) }
  else
    respond_with_navigational(resource.errors, status: :unprocessable_entity){ render :new }
  end
end