新手问题 关于 save

xiaoronglv · 2012年07月07日 · 最后由 kevin_zhou 回复于 2012年07月10日 · 2498 次阅读

看到一串代码,不理解,请各位指教,thanks。

if @order.save
p "good"
else
p "not good"
end

请问 save 为什么可以作为判断条件?什么情况下是 true,什么情况下是 false?

save 会有返回值,如果保存成功,就 true,其他 false,抛出异常等。 你可以在 rails c 中测试一下!

在这种情况下,save 不成功返回 nil 对象。 @order.save! 不成功会抛出异常。

#1 楼 @googya 感谢回复。如果 save 不成功,实例变量的值还保存在内存中,对吧?

😄

#2 楼 @kevin_zhou AR::save 不成功返回的是 false。

楼主写的 Python 代码哇!

#6 楼 @huacnlee 啊,是 rails 代码啊。 不懂 python。😄

8 楼 已删除

#8 楼 @messiahxu 灰常不好意思,加上了。

#5 楼 @ashchan 我从"Agile Web Development with Rails 4th" 的第 293 页中有一句解释,"save returns true if the record was saved; it returns nil otherwise." 不知是否正确?

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