如何让这个动作抛出404?

我有以下行动:

def show @video = @commentable = @favoritable = Video.find_by_key(params[:key]) Video.increment_counter(:views_count, @video.id) end 

但是现在如果find_by_key找不到记录,它会抛出一个RuntimeErrorCalled id for nil )。

那么如果找不到记录,怎么能让这个动作抛出404呢?

我正在运行Rails 3.2.1。

在尝试使用@video.id的值递增之前添加此项。

raise ActiveRecord::RecordNotFound if @video.blank?

或者使用bang版本的find_by_key ,如果找不到,它将引发ActiveRecord::RecordNotFound

Video.find_by_key!(params[:key])