기존 테이블 이름이 boss_name이었습니다. 레일스 모델을 만들고 싶습니다.기존 테이블에서 모델을 생성 한 후에 레일 테이블이 존재하지 않습니다.
"rails generate bossname"을 사용하여 모델을 만들고 self.table_name = "boss_name" 을 클래스에 추가했습니다.
모델이 성공적으로 생성 된 후 레일 콘솔을 시작하고 테이블을 쿼리하려고했습니다.
Bossname.first는 문제없이 boss_name 테이블의 첫 번째 값을 제공합니다.
레일즈 콘솔이 잘 작동하지만, bossname_spec.rb 용 rspec을 실행할 때 "Bossname (Table does not exist)"이라는 오류가있었습니다.
나는 누구나 레일 콘솔에서 작동하는 이유를 알 수 있고 응용 프로그램에서 작동하지 않기를 바랍니다. 응용 프로그램에서 작동하도록하는 방법에 대한 힌트도 정말 감사합니다.
테스트 환경에서 마이그레이션을 실행 했습니까? RAILS_ENV = 테스트 번들 exec rake db : migrate' – mdemolin
필자는 모델을 만들기 전에 존재하는 테이블을 가지고 있다고 언급했습니다. 이 경우에도 이전을 수행해야합니까? – user3920567
이것은 당신의 오류가 언급 한 것이 아닙니다 : '보스 이름 (테이블은 존재하지 않습니다)'. 테이블은'rails console'을 호출 할 때 사용되는 개발 데이터베이스에 존재할 수 있지만 테스트 데이터베이스에는 존재하지 않습니다 ('rspec'에 의해 사용됨). – mdemolin