【问题标题】:In Ruby on Rails, how can you use vanity URLs and also redirect to 404s?在 Ruby on Rails 中,如何使用虚 URL 并重定向到 404?
【发布时间】:2011-06-11 23:22:54
【问题描述】:

在我的 routes.rb 末尾,我有一个与虚 url 匹配的通配符。但是,我不知道如何将未知用户名重定向到 404。你怎么能这样做?

~ 在 routes.rb 中 ~

# Vanity URLs
match ':username', :to => "users#show"

~ 在用户控制器中~

@user = User.find_by_username(params[:username])
if @user.nil?
  render :status => 404
else
  ...
end

【问题讨论】:

  • 其中哪一部分不适合您?
  • 它根本没有重定向。正如 jdeseno 回答的那样,它仍在使用 404 响应代码呈现默认模板。您必须使用 jdeseno 提供的代码。

标签: ruby-on-rails vanity-url


【解决方案1】:

您所拥有的仍然会呈现默认模板,但会使用 404 响应代码。

试试这个来渲染默认的 404 页面:

render :file => "#{Rails.root}/public/404.html", :layout => false, :status => 404

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多