我试图before_save
在Rails模型的方法中添加一个异常,但是在视图中,不存在错误消息。
模型:
before_save do
doing_some_stuff
begin
File.open('some_file', 'w+') do |file|
if file.write(file_content)
return true
else
return false
end
end
rescue => e
self.errors.add(:base, e.message)
return false
end
视图:
<%= @model.errors.any? %>
这总是错误的。
如何将错误消息添加到模型?
编辑:
问题是,我在update_attribute函数之后进行了重定向,而不是再次呈现操作。谢谢。
您应该在验证而不是上执行此操作before_save
。在您到达before_save
回调时,该记录被假定为有效。
validate do
doing_some_stuff
begin
File.open(some_file, 'w+') do |file|
if !file.write(file_content)
self.errors.add(:base, "Unable to write #{some_file}")
end
end
rescue => e
self.errors.add(:base, e.message)
end
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句