写了这样一个例子,有两个模型类
1.member
class Member < ActiveRecord::Base
has_one :baby
validates_presence_of :name,:email,:password,
validates_uniqueness_of :name,:email
2.baby
class Baby < ActiveRecord::Base
belongs_to :member
validates_presence_of :name,:nickname,:sex
页面是同时提交member和baby的信息,
def enroll
@member = Member.new(params[:member])
@baby = Baby.new(params[:baby])
@baby.member = @member
if @member.save
# 注册成功,显示注册信息
else
#注册失败,返回注册页面
end
原本的想法是,member在保存的时候,检查自己的属性值是否符合要求,同时要保存与之关联的baby对象,检查属性值是否符合要求,但如果member检查没通过正常,如果是baby的信息不符合要求,则member对象保存,baby的信息没有保存,也没有提示信息,如果改成if member.save && baby.save,则在member通过检查,baby未通过检查,member对象进行了保存,然后返回了注册页面,在提交后,仍要保存member对象,则保存不成功,因为已经有相同的name值存在在member表中了,这样怎么处理啊?