Rails,显示页面网址ID

时间:2014-08-21 09:25:59

标签: ruby-on-rails

我的帖子控制器

def show
 @post = Post.friendly.find(params[:id])
end

我的帖子模型

def to_param
 "#{id}-#{title}"
end

当有人输入url _http://0.0.0.0:3000 / posts / 10,然后重定向到id-title page url

如何在输入帖子ID时显示404页面,例如:_http://0.0.0.0:3000 / posts / 10

1 个答案:

答案 0 :(得分:0)

<强>蛞蝓

Rails无法加载受尊重的数据库对象会导致

404错误 - 这意味着如果您将控制器中的查找限制为slug属性,则应该404

提供id
#app/controllers/posts_controller.rb
Class PostsController < ApplicationController
    def show
       @post = Post.find_by slug: params[:id]
    end
end

这将查看slug属性 - 其他任何内容都会返回no record found例外