如何让这个动作抛出404?
我有以下行动:
def show @video = @commentable = @favoritable = Video.find_by_key(params[:key]) Video.increment_counter(:views_count, @video.id) end
但是现在如果find_by_key
找不到记录,它会抛出一个RuntimeError
( Called 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])