8

Ruby on RailsUser.first和有什么区别?User.first!

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

*User代表一个表格。

4

2 回答 2

16

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

first!除了如果没有找到记录first,它会引发 ActiveRecord::RecordNotFound 之外是相同的。

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

于 2012-10-24T22:45:10.747 回答
-2

这 !是一个爆炸字符。在像 create! 这样的其他方法中,它强制创建发生。它会跳过验证和您设置的其他内容。

于 2012-10-24T22:44:00.013 回答