2009-09-25 46 views

回答

3

可能最简单的方法是在路由表底部有一个全通路由。喜欢的东西:

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呈现一个错误页面或东西。

0

您可以使用friendly_id宝石。

+0

它很酷。不过,我正在寻找一些不会暴露控制器的东西。就像在问题描述中给出的例子一样。 – Chirantan 2009-09-25 12:48:29