有时我看到了!保存后,和其他一些有效的记录方法...有什么区别?rails 3 - widget.save和widget.save的区别!
回答
使用的一般模式或约定!在rails中的方法的末尾指示该函数可能会引发异常,而non-bang方法仅返回一个值。
不抛出异常的后果允许您使用返回值作为正常处理的一部分。
if obj.save # yay, it worked! else # boo end
注意这不是Ruby强制执行的规则,只是一个约定。其他库(如String的标准库)具有返回操作结果与修改对象值的方法。
String s="Hello, world" s.gsub("world", "Joe") # returns a new string object, leaving s alone s.gsub!("world", "Joe") # modifies the value of s
非常有帮助谢谢! – jpwynn 2011-03-11 17:41:18
按照惯例,方法名称中唯一的'!'意味着它是一个潜在的危险操作。 “危险”的常见情况是会引发异常,或者会自行修改结果。但也有许多其他不太常见的情况。 – 2011-03-11 17:45:32
save
如果记录无法保存(例如验证错误)将返回false。
save!
如果记录无法保存,将引发异常。使用save!
当你很确定它应该保存没有问题,如果它不,那么它是一个非常大的错误和一个例外是适当的。
谢谢你这个......也给了它一个投票。 – jpwynn 2011-03-11 17:42:27
- 1. Rails 3和3.2之间有很大的区别吗?
- 2. 3/2和-3/2有什么区别?
- 3. 在Rails 3中,=和assign_attributes之间有区别吗?
- 4. ASP.NET MVC 1和3之间的区别
- 5. varchar(3)和varchar(300)之间的区别
- 6. @Component和@Configuration在Spring 3中的区别
- 7. TileWMS和WMTS在openlayers 3中的区别?
- 8. jquery-rails和jquery-ujs之间的区别
- 9. Rails 2.2和2.3.5之间的区别? ActionMailer.Utils
- 10. Rails 2.3和Rails 3.2'周'方法的区别
- 11. IE7和Firefox 3渲染区别
- 12. flex mxml和actionscript-3有什么区别?
- 13. Ruby和Ruby on Rails有什么区别?
- 14. Bootstrap和Rails有什么区别?
- 15. Rspec和Rspec-Rails Gem有什么区别?
- 16. Ruby on Rails和Grails有什么区别?
- 17. 有什么区别:to和=> in rails
- 18. Rails 3.如何获得两个数组之间的区别?
- 19. int someInts [3]和int * someInts = new int [3]之间的区别?
- 20. laravel 5和codeigniter 3之间的区别3
- 21. 蟒蛇的1/3和1./3之间有什么区别
- 22. Rails 3类别,子类别和项目之间的关系
- 23. Rails 3用户时区
- 24. Rails 3时区错误
- 25. Rails 3特别验证
- 26. 的Rails 3和RJS
- 27. default_url_options和rails 3
- 28. javascript和rails 3
- 29. Rails 3和CSS
- 30. rails 3和PDFkit
可能的重复[保存/保存的内容!做什么?](http://stackoverflow.com/questions/1997201/what-exactly-does-save-save-do) – 2011-03-11 09:07:59