Ruby on rails 在rails 3中保存模型时出现多个验证错误问题
在数据库中保存用户对象时出现问题。我在模型中有两个字段(email和password),数据库本身不允许为空。另外,我在模型中添加了验证,如Ruby on rails 在rails 3中保存模型时出现多个验证错误问题,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,在数据库中保存用户对象时出现问题。我在模型中有两个字段(email和password),数据库本身不允许为空。另外,我在模型中添加了验证,如 validates_presence_of :email, :message => "must be provided" validates_presence_of :password, :message => "must be provided" 现在,当我尝试从控制器的create方法保存模型时,它会使数据无效并再次呈现新操作。但
validates_presence_of :email, :message => "must be provided"
validates_presence_of :password, :message => "must be provided"
现在,当我尝试从控制器的create方法保存模型时,它会使数据无效并再次呈现新操作。但是,每个字段都有多条错误消息
Email can't be blank
Email must be provided
Password can't be blank
Password must be provided
我不需要为同一个错误发送多条错误消息。如何消除此问题?看起来您在两个不同的地方进行验证。你必须弄清楚那些地方 如果您正在对一个字段执行两种不同的验证,并且希望一次在一个字段上显示一条错误消息,则可以执行以下操作:
validates_presence_of :email, :message => "must be provided"
validates_uniqueness_of :email, :message => "must be unique",
:if => lambda { |a| a.errors.on(:email).blank? }
看起来您两次呈现错误。检查所有视图,它们也可以被继承。Hmm,但错误不同。看起来更像是有两组验证正在进行——在Rails中再次渲染不会导致重新验证。你能发布你的型号代码吗?您的模型是直接从
ActiveRecord::Base继承的,还是在模型类和它之间插入了一个类?如果是这样,您是否在中间类中进行了验证。基本上,我们还需要更多的工作