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