我使用Ruby 1.8.7,Rails 2.3.8,並使用Authlogic 2.1.6進行註冊,登錄,註銷。事實上,這三件事幾乎是我所做的一切!如何清除密碼填寫註冊/註冊authlogic錯誤?
在註冊期間,如果用戶的註冊信息有錯誤,我希望密碼和password_confirmation字段在視圖重繪時爲空。我認爲一個能清除在UsersController中的字段,如下所示:
class UsersController < ApplicationController
before_filter :require_no_user, :only => [:new, :create]
def create
@user = User.new(params[:user])
if @user.save
@user.save
flash[:success] = "Registration successful!"
redirect_back_or_default root_path
else
@user.password = ""
@user.password_confirmation = ""
@page_title = "Registration"
end
end
...
的password_confirmation場成功通過這段代碼被清除,但密碼字段不是。我在'else'之後插入了一個調試器調用,果然,@ user.password的值不會被'@ user.password'行所改變。我猜測在Authlogic中有一些東西是在我試圖清除它之後恢復該字段的值。 (我也嘗試將它設置爲'零',結果相同)。
我已經想出了一個變通辦法,我明確地設置窗體字段的值設置爲「」的觀點:
<%= form.password_field :password, :value => "" %>
但這似乎不是我的理想方式,以不處理它!
好處是,必須解決這個問題才能在rspec中更好地測試我的視圖。一切都是學習體驗! – Iain 2010-10-30 16:15:31