Rails 同时保存多个记录,怎么区分校验的是哪个

nancy · 2012年11月04日 · 最后由 woaigithub 回复于 2012年11月06日 · 2778 次阅读

多条记录同时保存,怎么区分是对哪条记录的校验? {:name=>["不能为空字符"], :descs=>["不能为空字符"]} 比如想在 name 后面加个 name1 或 descs1 来区分是第一条记录出错了,怎么区分? 怎能自定义校验吗?

大家没有同时保存多条记录校验的情况么???怎么处理的。。

@post.errors 里面的东西是个 hash , 验证不过的会在里面

class Person < ActiveRecord::Base
  validates :name, :presence => true, :length => { :minimum => 3 }
end

person = Person.new
person.valid? # => false
person.errors
 # => {:name => ["can't be blank", "is too short (minimum is 3 characters)"]}

上面就是对 name 的验证结果。 ·person.errors[:name]· 如果你还有一个字段 email,那么就是 ·person.errors[:email]·

#3 楼 @woaigithub 谢谢,目前是这么处理的 就是没明白为什么 要有person.valid?这句才行

这句是检查 person 是否 valid,如果 valid==true,就不用显示错误信息了,如果是就显示错误信息,并且阻止后面的代码继续执行。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号