ich ein Problem über simple_token_authentication
bin Debuggen, modifizierte ich einige Code in https://github.com/gonzalo-bulnes/simple_token_authentication/blob/master/lib/simple_token_authentication/sign_in_handler.rb#L7 zu:Welchen möglichen Grund, warum Rettung in Ruby nicht funktioniert?
def sign_in(controller, record, *args)
begin
puts "=== TRACE 1"
integrate_with_devise_trackable!(controller)
puts "=== TRACE 2"
controller.send(:sign_in, record, *args)
puts "=== TRACE 3"
rescue Exception => e
puts "=== TRACE 4"
ensure
puts "=== TRACE 5"
end
end
Ausgänge:
Started GET "/projects" for ::1 at 2016-04-18 18:35:22 +0800
ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
Processing by ProjectsController#index as JSON
Parameters: {"project"=>{}}
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."email" = ? ORDER BY "users"."id" ASC LIMIT 1 [["email", "[email protected]"]]
=== TRACE 1
=== TRACE 2
(0.1ms) begin transaction
(0.0ms) commit transaction
=== TRACE 5
Completed 401 Unauthorized in 40ms (ActiveRecord: 0.9ms)
Die Frage ist nicht über simple_token_authentication
, die Frage ist, warum TRACE 3
und TRACE 4
beide nicht ausgegeben? Gibt es einen möglichen Grund könnte dies verursachen?
Meine Umgebung:
- rubin 2.2.3 [x86_64] installiert von rvm
- Mac OSX 10.11.4
Das ist interessant. Wenn du nur ein reproduzierbares Snippet geschrieben hast ... :) –
Ich versuche ein kleines Projekt zu erstellen, um es zu reproduzieren. –
Kann nicht reproduzieren, ich lösche nur db/development.sqlite3 und rake db: migrate, es gibt TRACE 1, 2, 3 und 5 aus, es ist richtig. Ich weiß nicht warum. –