我想显示我们在交易过程中得到的错误消息。 这是我的student.rb(模特)
def self.createStudent (user , student , father , mother)
begin
transaction do
father.save!
mother.save!
user.save!
student.mother=mother
student.father=father
student.user=user
student.save
end
rescue ActiveRecord::RecordInvalid => invalid
return
end
end
从控制器调用此方法
Student.createStudent(@user,@student,@father,@mother)
现在我想再次检查控制器,保存时是否有任何错误。并发送回视图
答案 0 :(得分:4)
您可以在成功或失败时从此方法返回值。
def self.createStudent (user , student , father , mother)
begin
transaction do
father.save!
mother.save!
user.save!
student.mother=mother
student.father=father
student.user=user
student.save
end
return "success"
rescue ActiveRecord::RecordInvalid => invalid
return invalid.record.errors
end
end
现在,在您的控制器中,您可以检查返回值,并根据返回值在视图中显示消息。
编辑(根据您的评论):
invalid.record.errors
将出现交易失败的错误。
检查doc。