2011-03-08 2 views
1

RoR 앱에 로컬로 계정을 생성 한 다음 heroku db:push으로 heroku로 푸시하면 모두 정상입니다. 그러나 콘솔에 로컬로 User.find(5).toggle!(:admin)으로 내 계정을 만든 다음 db를 heroku로 푸시하면 더 이상 내 계정에 로그인 할 수 없습니다. 나는 잘못된 PW와 이메일 콤보를 얻는다. 왜 이런거야?heroku db : 괴괴 망가적인 물건을 누르십시오

답변

1

나는이 튜토리얼에서 같은 문제가 있었다.

토글을 사용하여 해당 관리 사용자를 업데이트하면 튜토리얼의 논리에 따라 암호 소금도 업데이트됩니다. 따라서 올바르게 설정 한 암호는 작동하지 않습니다. 해결 방법은 암호 염법을 확인하고 염석 논리를 변경하거나 여기에 게시하는 것입니다.

heroku ruby ​​콘솔로 이동하여 토글 및 포스트 토글하기 전에 사용자의 소금을 기록하여이 문제를 직접 확인할 수 있습니다. 당신도 똑같은 문제가 있다면 그들은 달라질 것입니다.

+0

안녕하세요 user564761, 방금 비슷한 문제를 게시했으며 기회가 생겼을 때 생각을 나에게 줄 수 있기를 바랍니다. 감사합니다. http://ruckoverflow.com/questions/5463153/ruby-on-rails-why-does-the-users-encrypted-password-get-changed-in-the-db-when – BeachRunnerFred

0

로컬 컴퓨터에서 사용하는 데이터베이스는 대부분 귀하의 구성에 따라 heroku로 푸시되었을 수도 있고 없을 수도있는 development.db 일 가능성이 큽니다. heroku에 푸시 할 데이터베이스를 지정하는 방법에 대한 자세한 내용은 this article을 확인하십시오.

+0

hmmm ... 내가 테스트 DB에만 연결되는 콘솔에 관리자를 설정하고있을 수 있습니까? –

+0

콘솔의 테스트 환경 설정 관리자에서 콘솔을 실행하지 않는 한 개발 데이터베이스에 설정해야합니다. 영웅은 프로덕션 모드로 실행된다는 점도 기억하십시오. 특정 데이터를 프로덕션 환경에 적용하려면 rake 작업을 수행하거나 로컬 컴퓨터의 프로덕션 데이터베이스에서 데이터를 설정 한 다음이를 히로쿠에 넣는 것이 좋습니다 –

+0

로컬 데이터베이스에서 프로덕션 데이터베이스를 사용하는 방법 기계? –

관련 문제