注意:我沒有使用Devise。重定向到根目錄而不是控制器/編輯密碼重置
我採取一個密碼重置動作和我有以下編輯操作的控制器Password_Resets:
def edit
end
def update
puts "I'm in the update!!"
if params[:user][:password].empty?
@user.errors.add(:password, "can't be empty")
render 'edit'
elsif @user.update_attributes(user_params)
log_in @user
flash[:success] = "Password has been reset."
redirect_to recipes_url
else
render 'edit'
end
end
當我試圖通過它來運行,我把相應的URL和我以下回應:
Started GET "/password_resets/igArFj9sYLt1J6k6Y2BjSg/edit?email=maggie%40example.com" for ::1 at 2016-04-20 21:49:58 -0500
Processing by PasswordResetsController#edit as HTML
Parameters: {"email"=>"[email protected]", "id"=>"igArFj9sYLt1J6k6Y2BjSg"}
User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."email" = ? LIMIT 1 [["email", "[email protected]"]]
Redirected to http://localhost:3000/
Filter chain halted as :valid_user rendered or redirected
Completed 302 Found in 2ms (ActiveRecord: 0.1ms)
爲什麼重定向到本地主機而不是視圖app/views/password_resets/edit?我似乎無法找出一個好方法來「調試」或看看發生了什麼。
注:我讓這個視圖非常簡單,以確保它不重定向。
這是視圖應用/視圖/ password_resets /編輯:
<h1>This is my edit view </h1>
編輯:::解決方案
所以我只是一個白癡。基本上我有一個驗證的用戶命令,用來檢查用戶是否被認證,而用戶不是。因此我需要更多的錯誤處理。
謝謝你!