0
I私のモデルでは、以下があります:私のコントローラでは動作していない検証をオフにする
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