注意:我没有使用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>
编辑:::解决方案
所以我只是一个白痴。基本上我有一个验证的用户命令,用来检查用户是否被认证,而用户不是。因此我需要更多的错误处理。
谢谢你!