Shp*_*ord 2 error-handling ruby-on-rails exception ruby-on-rails-3
我有以下行动:
def show
@video = @commentable = @favoritable = Video.find_by_key(params[:key])
Video.increment_counter(:views_count, @video.id)
end
Run Code Online (Sandbox Code Playgroud)
但是现在如果find_by_key没有找到记录,它会抛出一个RuntimeError(Called id for nil).
那么,如果找不到记录,怎么能让这个动作抛出404呢?
我正在运行Rails 3.2.1.
Jam*_*mes 13
在尝试使用值的增量之前添加此项@video.id.
raise ActiveRecord::RecordNotFound if @video.blank?
或者使用爆炸版本,如果找不到find_by_key它将会提升ActiveRecord::RecordNotFound.
Video.find_by_key!(params[:key])
| 归档时间: |
|
| 查看次数: |
4967 次 |
| 最近记录: |