关闭验证不起作用

时间:2011-08-19 09:33:09

标签: ruby-on-rails-3 validation

我的模型中有以下内容:

  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

此时我不想验证是否存在姓名,并希望将其关闭。

我认为上面的代码可行,但事实并非如此。我不知道为什么。

1 个答案:

答案 0 :(得分:2)

您正在进行create操作,创建新记录。因此new_record?将成立,即使validating_name不是。