0
我在我的模型如下:關閉驗證工作不
validates :name, :if => :should_validate_name?,
:presence => {:message => "Enter your name"},
:length => { :maximum => 50 },
:allow_blank => true
def should_validate_name?
validating_name || new_record?
end
在我的控制器我有以下幾點:
def create
@user = User.new(params[:user])
@user.validating_name = false
if @user.save
else
render :action => 'new'
end
end
我不想來驗證的存在在這一點上的名稱,並希望關閉它。
我認爲上面的代碼會工作,但它不會。我不知道爲什麼。
有沒有一種方法可以關閉驗證呢? – chell
是的,讓':if'方法返回'false'。你想在什麼情況下跳過驗證? – Chowlett
我們有一個表單,我們只想捕獲電子郵件而不是名稱。在某些情況下,我們讓用戶無名註冊,並且在某些情況下我們需要名稱。你的回答很有用,並且真正解決了這個問題。感謝您花時間回答。 – chell