2011-12-25 2 views
4

레일 3.1.1 응용 프로그램을 레일 3.1.3으로 업그레이드했으며, 모든 요청마다 wrong number of arguments (3 for 1) 만 응답합니다. 불행히도 오류가 어디서 있었는지와 애플리케이션 추적이 비어 있다고 말하지 않습니다. 호환성 문제가 있다고 생각하지만 실제로 어디에서 파야할지 모릅니다. 어떤 도움 https://gist.github.com/1519479레일을 3.1.1에서 3.1.3으로 업그레이드 한 후 잘못된 인수 수 (1에 대해 3)

감사 :

내 Gemfile 및 프레임 워크 추적이 있습니다.

+0

앱에서 사용되는 미들웨어 중 하나는 하나의 인수 만 허용하지만 어떤 이유로 든 트리를 사용하여 호출됩니다. 불행하게도 스택 트레이스 라인이 하나 더 없으면'잘못된 인수 '와'rack (1.3.5) lib/rack/builder.rb 사이에 있어야한다 : 78 :'new '에서는 찾기가 어려울 것이다. 문제. –

+0

업그레이드 전후의 모든 gem 버전을 포함하고있는 Gemfile.lock의 차이를 확인할 수 있다면 훨씬 쉽습니다. – prusswan

+2

'bundle show '를 실행하고'omniauth' gem의 버전을 확인하십시오. 레일을 업그레이드하는 중에'omniauth'도 업데이트 했는지도 모릅니다. 버전 1. * 트위터 인증을 위해 별도의 gem'omniauth-twitter'가 필요합니다. 'Gemfile' 파일에이 파일이 없으므로 비슷한 오류를 일으킬 수있는'twitter' 보석에서 미들웨어'Twitter' 클래스로로드하려고 시도합니다. –

답변

6

bundle show을 실행하고 omniauth gem을 확인하십시오. omniauth을 업데이트 한 레일을 업그레이드하는 중일 수 있습니다.

버전 1.*omniauth에는 twitter 인증을 위해 별도의 보석 omniauth-twitter이 필요합니다. Gemfile에 있지 않으므로 비슷한 오류가 발생할 수있는 twitter 보석에서 Twitter 등급의 미들웨어로로드하려고합니다.

나중에 문제가되는 것을 피하려면 ">= 0.2.6" 대신 보석 버전 지정에 "~> 0.2.6"을 사용하는 것이 좋습니다. 그것은 당신이 사용하고있는 보석의 예상치 못한 주요 릴리스로부터 당신을 보호합니다.

관련 문제