如何在rails中创建自定义资源路径?

时间:2010-02-04 19:09:29

标签: ruby-on-rails

我的应用程序中有一个用户控制器,路由:

map.resources :users

这使我的用户页面位于/ users / 1,依此类推。

我希望我的用户页面能够访问/ users / blake等。

在rails中执行此操作的正确方法是什么,这样我可以说link_to(@user)并生成正确的路径?

1 个答案:

答案 0 :(得分: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
ActionPack使用模型中的

to_param来构造此对象的url。在控制器中,您需要通过此字段获取模型。