浏览 2215 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-11
写了这样两个模型 member 和baby member代码 class Member < ActiveRecord::Base #模型关系设置 has_one :baby #数据校验区 validates_presence_of :name,:email end
baby代码
class Baby < ActiveRecord::Base #模型关系设置 belongs_to :member #数据校验区 validates_presence_of :name,:nickname,:sex,:member end
在member模型里有这样一段代码
#注册信息 def self.enroll(member,baby) begin transaction(member,baby) do member.baby = baby member.save! baby.save! end rescue end end
在控制器代码中接受用户提交的参数,但在调用enroll方法后,事务逻辑是正确的,在member和baby任一对象保存不成功,则重新返回注册页面提交数据,但为什么属性的错误信息没有了?如果使用save方法,不适应save!方法的话,错误信息还在,但事务逻辑不正确,没有异常出现了
save!方法会抛出异常,来通知事务出错,但save!方法不会将错误信息放到errors里面么?
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-01-11
errors中存的是有关校验的错误信息,而不是异常信息啊。异常信息怎么保存啊!
|
|
返回顶楼 | |
发表时间:2008-01-11
是不是save!方法不保存校验错误的信息,而是只抛出异常?
|
|
返回顶楼 | |