先区别!和Rails中的第一个方法

jas*_*328 8 ruby syntax ruby-on-rails

是什么区别User.first,并User.first!在Ruby on Rails的?

我在Ruby指南中看到了这个例子,但没有解释为什么它不同.据我所知,!用于表示该方法正在改变变量.

*User代表一张桌子.

Pra*_*thy 16

我不知道first!ActiveRecord中有一个finder方法.感谢您的提问,现在我知道了:-)

first!是一样的first,除了它,如果没有找到记录引发的ActiveRecord :: RecordNotFound.

更多细节:http://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-first-21

  • 值得注意的是,对于以`!`结尾的方法(其中有一个名称相同但不以`!`结尾的方法)的常见Ruby约定会产生破坏性/爆炸性/提升的东西. (5认同)