运维开发网

ruby-on-rails – 由Permalink查找项目,如果找不到,则为404

运维开发网 https://www.qedev.com 2020-08-11 22:20 出处:网络 作者:运维开发网整理
我改变了我的节目控制器,通过他们的永久链接而不是他们的id(对于SEO多汁性)来查找记录. def show @project = Project.find_by_permalink(params[:id]) end 但是,如果我键入localhost:3000 / projects / foo(并且没有foo永久链接的项目)我得到500服务器错误而不是404找不到. 为什么会这样,我该如何解
我改变了我的节目控制器,通过他们的永久链接而不是他们的id(对于SEO多汁性)来查找记录.

def show
  @project = Project.find_by_permalink(params[:id])
end

但是,如果我键入localhost:3000 / projects / foo(并且没有foo永久链接的项目)我得到500服务器错误而不是404找不到.

为什么会这样,我该如何解决?

这可能是2.3的补充,但你可以在这样的动态查找器之后使用一个exclaimation点:

def show
  @project = Project.find_by_permalink!(params[:id])
end

如果未找到任何内容,则引发ActiveRecord :: RecordNotFound异常.

0

精彩评论

暂无评论...
验证码 换一张
取 消