Force Rails 3动态查找器抛出RecordNotFound异常?

ste*_*red 8 ruby activerecord ruby-on-rails exception

是否可以强制Rails动态查找器抛出ActiveRecord::RecordNotFound异常而不是nil在找不到结果时返回?

例如,如果名为'Nuka-Cola'的饮料不存在:

@not_found = Beverage.find_by_name('Nuka–Cola')
Run Code Online (Sandbox Code Playgroud)

而不是拥有

@not_found == nil
Run Code Online (Sandbox Code Playgroud)

可能的

.find_by_name('Nuka–Cola')
Run Code Online (Sandbox Code Playgroud)

方法调用抛出ActiveRecord::RecordNotFound异常?

或者我是否必须nil手动检查并抛出异常?

Sim*_*tti 21

使用爆炸版.

@not_found = Beverage.find_by_name!('Nuka–Cola')
Run Code Online (Sandbox Code Playgroud)