如何通过Permalink在Ruby on Rails中查找项目,若未找到则显示404页面?

2026-04-11 20:140阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计216个文字,预计阅读时间需要1分钟。

如何通过Permalink在Ruby on Rails中查找项目,若未找到则显示404页面?

我优化了节目标控器,通过他们的永久链接而非ID(有利于SEO多流)来查找记录。示例代码如下:`def show(@project=Project.find_by_permalink(params[:id]))`。但要注意,当输入`localhost:3000/projects/foo`时,需要相应调整。

我改变了我的节目控制器,通过他们的永久链接而不是他们的id(对于SEO多汁性)来查找记录.

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

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

如何通过Permalink在Ruby on Rails中查找项目,若未找到则显示404页面?

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

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

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

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

本文共计216个文字,预计阅读时间需要1分钟。

如何通过Permalink在Ruby on Rails中查找项目,若未找到则显示404页面?

我优化了节目标控器,通过他们的永久链接而非ID(有利于SEO多流)来查找记录。示例代码如下:`def show(@project=Project.find_by_permalink(params[:id]))`。但要注意,当输入`localhost:3000/projects/foo`时,需要相应调整。

我改变了我的节目控制器,通过他们的永久链接而不是他们的id(对于SEO多汁性)来查找记录.

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

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

如何通过Permalink在Ruby on Rails中查找项目,若未找到则显示404页面?

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

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

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

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