我如何在 rails 中获得 twitter/friendfeed 之类的主页网址?

Posted

技术标签:

【中文标题】我如何在 rails 中获得 twitter/friendfeed 之类的主页网址?【英文标题】:How do I get twitter/friendfeed like home urls in rails? 【发布时间】:2010-12-01 09:53:35 【问题描述】:

我希望能够拥有像 http://twitter.com/username 这样的友好 URL 的 Twitter。如何在铁轨上实现这一点?

【问题讨论】:

【参考方案1】:

可能最简单的方法是在路由表底部设置一条包罗万象的路由。比如:

map.connect '/:slug', :controller => 'users', :action => 'show'

然后在用户控制器中......

def show
  @user = User.find_by_username(params[:slug])
end

我还建议捕获 ActiveRecord::RecordNotFound 以显示 404 页面。你可以在ApplicationController

rescue_from ActiveRecord::RecordNotFound, :with => :not_found

然后定义一个方法not_found来渲染一个错误页面什么的。

【讨论】:

【参考方案2】:

您可以使用friendly_id gem。

【讨论】:

很酷。但是我一直在寻找不暴露控制器的东西。就像作为问题描述的一部分给出的示例一样。

以上是关于我如何在 rails 中获得 twitter/friendfeed 之类的主页网址?的主要内容,如果未能解决你的问题,请参考以下文章

如何从控制器路由 Rails 4 获得不同的和多个视图

如何获得ajax响应更改rails应用程序中的html内容

Rails 4 - 如何获得 <li> 单击以在另一个 <div> 中显示部分视图?

Rails-如何获得我的远程表单以JS响应?

如何在 ActiveStorage (Rails 5.2) 中更新附件

如何在 Rails 应用程序中编辑 .vtt 轨道的提示文本