[英]Devise Ruby Gem keeps bringing me to sign in page
Devise的工作很棒。 我的應用程序開始告訴我我有待完成的遷移,因此我必須回滾數據庫的一個版本。 我認為這是唯一的更改,但是現在Devise停止了工作。 登錄后,頁面會刷新,並且我將返回登錄頁面,而不會收到任何通知。
它告訴我什么,重置為git的舊工作版本不能解決該問題? 我回滾到3或4個我知道可以正常工作的版本,但仍然存在相同的問題。 我在版本控制中應該做些不同的事情嗎? 我認為這很重要。
我的應用程序控制器包括:
before_action :authenticate_user!
因此,在您啟動應用程序時會出現登錄,但在驗證索引頁后應加載。
我注意到的另一個問題是注冊頁面不再發送用於帳戶驗證的電子郵件,它也可以正常工作。 提交后的注冊表單使我無需登錄便可以正確登錄表單。
我注意到的最后一件事是,登錄頁面不再像以前那樣具有與我的CSS相匹配的顏色格式。
進入運行時,我發現在提交密碼重置和嘗試登錄時都遇到401錯誤。
這里:
Started PUT "/users/password" for 67.190.148.56 at 2016-03-01 04:48:12 +0000
Cannot render console from 67.190.148.56! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by Devise::PasswordsController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"SG2j03FdEJi2OcLZkKet0mR3OllWPbq+ryaIJvxC2YZDYPRhM4SqU3kBuI3Ib4W786ALKB6QvS7/jXzBOMhagQ==", "user"=>{"reset_password_token"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Change my password"}
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."reset_password_token" = ? ORDER BY "users"."id" ASC LIMIT 1 [["reset_password_token", "28df3becae959de20a18d1b1475cfefa23ad4baa59771dfa0bcf01798531b292"]]
(0.2ms) begin transaction
SQL (0.6ms) UPDATE "users" SET "encrypted_password" = ?, "reset_password_token" = ?, "reset_password_sent_at" = ?, "updated_at" = ? WHERE "users"."id" = ? [["encrypted_password", "$2a$10$ywUTc3pDw3rY0U6aHR.dZ.BKdP/vcQ7hxNhSgCZlD4LM2e.11efdG"], ["reset_password_token", nil], ["reset_password_sent_at", nil], ["updated_at", "2016-03-01 04:48:12.426544"], ["id", 1]]
(12.4ms) commit transaction
(0.1ms) begin transaction
(0.1ms) commit transaction
Completed 401 Unauthorized in 121ms (ActiveRecord: 13.6ms)
希望這能給您答案錯誤遷移正在等待; 運行“ rake db:migrate RAILS_ENV = development”來解決此問題
嘗試使用此命令進行回滾,而不是
rake db:rollback如果要更改遷移文件,請使用:
rake db:migrate:redo STEP = 1如果要刪除表,請使用它
耙db:migrate:down VERSION = your_migration_version
定義一個操作以配置要允許的參數
application_controller.rb:
before_action :configure_permitted_parameters if: :devise_controller?
before_action :authenticate_user!
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_in) {|u| u.permit(:email)}
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.