갑자기 내 레일 api 응용 프로그램에 이상한 문제가 있습니다.레일즈 컨트롤러가 TypeError와 함께 실패합니다 - "오류가 발생했을 때 오류가 발생했습니다"?
클라이언트가 "get_auth_token"메소드 중 하나를 호출 할 때 다음과 같은 오류가 발생합니다. 이 오류는 기본 application_controler 클래스를로드하려고 시도하면 발생합니다 (1 행에서 오류가 발생 함).
이 시점에서 앱에서 왜 "schema_migrations"에 대한 선택을 실행하는지 궁금합니다. 여기
Started POST "/register/get_auth_token" for 127.0.0.1 at 2017-12-31 11:56:17 -0800
(1.0ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
TypeError (wrong argument type Class (expected Module)):
app/controllers/application_controller.rb:1:in `<top (required)>'
app/controllers/registration_controller.rb:1:in `<top (required)>'
Error during failsafe response: wrong argument type Class (expected Module)
/Users/jkramer/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/actionpack-5.1.3/lib/abstract_controller/helpers.rb:181:in `include'
/Users/jkramer/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/actionpack-5.1.3/lib/abstract_controller/helpers.rb:181:in `block in add_template_helper'
/Users/jkramer/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/actionpack-5.1.3/lib/abstract_controller/helpers.rb:181:in `module_eval'
/Users/jkramer/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/actionpack-5.1.3/lib/abstract_controller/helpers.rb:181:in `add_template_helper'
/Users/jkramer/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/actionpack-5.1.3/lib/abstract_controller/helpers.rb:110:in `block in helper'
/Users/jkramer/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/actionpack-5.1.3/lib/abstract_controller/helpers.rb:109:in `each'
/Users/jkramer/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/actionpack-5.1.3/lib/abstract_controller/helpers.rb:109:in `helper'
/Users/jkramer/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/actionpack-5.1.3/lib/action_controller/railties/helpers.rb:17:in `inherited'
/Users/jkramer/RubymineProjects/CrowdWisdomServer/app/controllers/application_controller.rb:1:in `<top (required)>'
/Users/jkramer/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:476:in `load'
...
응용 프로그램 컨트롤러
class ApplicationController < ActionController::Base
include ActionController::MimeResponds
protect_from_forgery with: :null_session
end
의 실제 컨트롤러가 호출되는 :
class RegistrationController < ApplicationController
def get_auth_token
token = RegistrationManager.get_instance.get_auth_token(params)
if token.nil?
render json: {status: "authentication_failed"}
return
end
render json: {status: :ok, auth_token: token}
end
end
Jeez. 죄송합니다. 아래의 답변에서 실제 원인을보십시오. – user1023110