2011-03-08 93 views
1

所以當我在我的RoR應用程序本地創建一個帳戶,然後將它推到與hero34 heroku db:push一切都很好。但是,當我在控制檯本地將我的帳戶設爲管理員User.find(5).toggle!(:admin),然後將數據庫推送到heroku時,我無法再登錄到我的帳戶。我收到一個不正確的密碼和電子郵件組合。爲什麼是這樣?heroku db:推奇怪的東西

回答

1

我在教程中遇到了同樣的問題。

當您使用切換更新該管理員用戶時,它還會根據教程的邏輯更新密碼salt。因此,您正確設置的密碼不起作用。解決方案是檢查你的密碼salting方法,並改變你的salting邏輯或張貼在這裏。

您可以通過進入heroku紅寶石控制檯並在切換和切換之前記錄用戶的鹽來查看是否有這種情況。如果你有同樣的問題,我會讓他們有所不同。

+0

嗨user564761,我剛剛發佈了一個類似的問題,希望你能給我你的想法,當你有機會,謝謝! http://stackoverflow.com/questions/5463153/ruby-on-rails-why-does-the-users-encrypted-password-get-changed-in-the-db-when – BeachRunnerFred 2011-03-28 18:15:58

0

您在本地計算機上使用的數據庫很可能是development.db,這取決於您的配置可能已經或可能未被推送到heroku。請查看this article瞭解更多關於如何指定要推送到heroku的數據庫的信息。

+0

嗯......可以這樣,我設置管理控制檯,只有去測試分貝? – 2011-03-08 22:48:20

+0

除非您在測試環境中運行控制檯,否則在控制檯中的admin應將其設置在開發數據庫中。還請記住,heroku以生產模式運行。如果你想推送特定的數據到你的生產環境中,我建議要麼做一個rake任務來做到這一點,要麼在你的本地機器上設置生產數據庫中的數據,然後將其推送到heroku – 2011-03-08 22:53:53

+0

如何在本地使用生產數據庫機? – 2011-03-08 22:59:34