2010-02-04 110 views
2

我在我的应用程序中的用户控制器,具有路由:如何在rails中创建自定义资源路径?

map.resources :users 

这有我的用户网页住在/用户/ 1,依此类推。

我想我的用户页面,住在/用户/布雷克等

是什么在轨道做这个正确的方式,这样我可以说的link_to(@user)和正确的路径产生的?

回答

2

在模型:

class User < ActiveRecord::Base 
    def to_param 
    login 
    end 
end 

在控制器:

class UsersController < ApplicationController 
    def show 
    @user = User.find_by_login(params[:id]) 
    #... 
    end 
end 

to_param在模型被用于通过ActionPack的构建URL此对象。在控制器中,您需要通过此字段获取您的模型。