我正在使用現有的Rails應用程序(30多個模型,30多個控制器)並嘗試實現Devise的可確認(現在用戶在簽署期間不會提示您創建密碼向上)。如何將Devise Confirmable添加到現有的Rails應用程序
我的問題是,兩個(看似)小的動作導致300個規格開始失敗......我希望有更多經驗豐富的老手的任何建議,以幫助我避免任何兔子洞過度。
兩個動作:
(1)user.rb
I內添加:confirmable
到色器件配置:
devise :database_authenticatable, :recoverable, :rememberable, :confirmable, ...
(2)內devise.rb
我去掉了allow_unconfirmed_access
配置:
config.allow_unconfirmed_access_for = 2.days
這兩個動作導致我的所有規格幾乎1/4開始失敗。在我開始深入瞭解每個規範並進行修改之前,有人能讓我知道我錯過了什麼,或者指出我朝着正確的方向嗎?
更新我將原因縮小到我認爲是管理員權限問題的範圍。規範是針對普通用戶傳遞,但是任何需要管理員登錄的測試現在都失敗了(例如規範中預期的響應是200,而不是返回302或401 ...)
在我的工廠爲普通用戶我包括confirmed_at
至eq Time.now
。這是我正在構建管理員:
factory :admin_user, :parent => :user do
email ADMIN_USER_EMAIL
end
凡ADMIN_USER_EMAIL是ENV變量引用的實際管理員的電子郵件地址。由於它是從:parent => :user
繼承我不知道還有什麼可以嘗試確認管理員?
如果您發佈規範失敗且收到錯誤的示例,這將有所幫助。這是模糊的。 –