Rails 튜토리얼에서 테스트는 Green이지만 프로덕션에서 오류가 발생했습니다.

Rails 튜토리얼 10장을 마치고 Heroku에 배포하고, 자신의 테스트 유저 등록하겠다~라고 버튼을 뽐내면, 아부르고 유연하게 했으므로 각서입니다.
아직 Rails에 대한 이해도가 낮고 Qiita에 투고하는 것도 부끄러운 내용입니다만, 의견·감상 받을 수 있으면 다행입니다.

■ 발생한 오류



Ruby on Rails 튜토리얼 Rails5.1(제4판) 10장을 마치고 Heroku에 배포.

신규 사용자를 등록하기 위해 다음 정보를 입력합니다.
・Name:test
· Email : st @ st. 이 m
・Password:testtest
·Password confirmation:testtest
Create my account 버튼을 누르면 다음 페이지가 표시되었다.


런타임 콘솔 로그는 다음과 같습니다.


■ 확인한 것



· AWS로 돌아가서 rails test 명령 실행
→GREEN

· 기존 테스트 사용자의 설정에서 정보를 등록 할 수 있습니까?
→ 등록 가능

· routes.rb에 다음 문장 추가

routes.rb
post   '/signup',  to: 'users#create'

→테스트:GREEN
화면상에서도 등록할 수 있었습니다.

■원인



Listing 7.26 에서 추가한 코드를 Listing 8.2 으로 덮어썼습니다.
(아무것도 생각하지 않고 copipe해서 죄송했습니다···)

■대처법



유저 등록에 에러가 발생했으므로, 우선 new.html.erb를 확인.
목록 10.6 의 연습으로 리팩토링했으므로, 여기에서의 작업에 문제가 있었다고 당을 붙인다.
Listing 7.26 의 연습이 영향을 받고 있는 곳에서 해당 연습으로 돌아가면, routes.rb 에 변경을 가하고 있어, 원인이 되고 있던 루트가 사라지고 있는 것을 확인.
사라지고 있던 한 문장을 추가하는 것으로 해소.

이 해소의 방법이라면, Rails 튜토리얼이라고 하는 대본 있어의 해결 방법이 되고 있어, 실제의 현장에서 이런 해결의 방법이 있을 리가 없다.

■이후의 액션



이하 2점을 조사해 기사로 하고 싶습니다.
・실제의 에러였다고 해서 어떻게 해소하면 좋았을까.
・왜 테스트를 GREEN으로 통과했는가.

우선 프로덕션 Heroku도 문제 없게 움직였으므로 여기까지.

좋은 웹페이지 즐겨찾기