Ruby on RailsUser.first
和有什么区别?User.first!
我在 Ruby 指南中看到了这个例子,但没有解释为什么它不同。据我所知,!
用来表示方法正在改变变量。
*User
代表一个表格。
Ruby on RailsUser.first
和有什么区别?User.first!
我在 Ruby 指南中看到了这个例子,但没有解释为什么它不同。据我所知,!
用来表示方法正在改变变量。
*User
代表一个表格。
我不知道first!
ActiveRecord 中有 finder 方法。感谢您的问题,现在我知道了:-)
first!
除了如果没有找到记录first
,它会引发 ActiveRecord::RecordNotFound 之外是相同的。
更多细节在这里:http ://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-first-21
这 !是一个爆炸字符。在像 create! 这样的其他方法中,它强制创建发生。它会跳过验证和您设置的其他内容。