Ruby 1.8x 및 Rails 2.x에서 잘 돌아가는 작은 레일 앱이 있습니다. 유감스럽게도 루비 1.9.x와 레일즈 3, 으로 이동하기로 결정했습니다.Rails 3.2.6 and dbi
내 루비 응용 프로그램은 MySQL을 사용하며 액티브 레코드를 사용합니다. 그러나 레일즈 (2.x)가 나오기 전에 데이터베이스 을 채우기 위해 작성한 이전 pgm이 있습니다.이 응용 프로그램은 이제 완전한 응용 프로그램의 일부입니다. (나는/테스트 레일 외부 독립 PGM을 실행하고 더 문제가 없습니다.)이 독립 프로그램은 MySQL과 DBI 보석을 사용
. 이 프로그램을 모델에서 호출합니다 :
system("ruby standalonepgm.rb -args ")
레일 2.0에서는 아무 문제없이 작동합니다. 3.0에서 프로그램은 오류를 포착하지 않고 종료됩니다.
콘솔에서 실행 나는 dbi gem을 찾을 수 없어 프로그램이 종료되는 것을 확인했습니다!
Gemfile에 dbi gem을 넣고 날짜를 묶는다면 진짜 문제가 있습니다. Rails가 시작되지 않습니다. 레일 서버가 모든 종류의 문제로 사망합니다. 나는 screendump를 넣을 수는 있지만 중요하지 않다고 생각합니다.
- DBI는 레일
- 레일의 신들과 확실히 호환되지 않는 샌드 박스를 만들고 그 샌드 박스에서 살아야한다라고 모든 프로그램 (단지 필요로 그 이유는 :
는이 문제가 될 것 같다 문이 충분하지 않습니다 .. 그것은 Gemfile에 있어야합니다).
난 고칠 수 있습니까 아니면 난 레일의 숨겨진 검은 마술에 물린 사람 중 하나이며, 지난 8 주 이상의 노력이 튜브 아래에 있습니까?
두 추적 조사 1 - 어떤 오류가 발생 했습니까? 2 - dbi가 새로운 버전의 Rails와 호환되는지 확인해 봤습니까? (제쳐두고 모든 것이 확실하다는 확신이 들지 않으면 새로운 언어 플랫폼으로 업그레이드하는 것이 바람직하지 않습니다. 호환 가능.) – Makoto
Bundle.with_clean_env do 시스템을 사용하여 해결되었습니다. ("ruby pgm.rb"end – sms
답을 찾은 것을 기쁘게 생각하지만 R 에일 즈와 관련된 마법이있다. 그것은 모두 평범한 오래된 루비입니다. 마법은 당신이 이해하기가 까다로운 코드 일뿐입니다. – Chris