我希望能够拥有像http://twitter.com/username这样的友好网址。如何在铁轨中将其拉下来?
答案 0 :(得分: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
以呈现错误页面等。
答案 1 :(得分:0)
您可以使用friendly_id gem。