我的应用程序中有一个用户控制器,路由:
map.resources :users
这使我的用户页面位于/ users / 1,依此类推。
我希望我的用户页面能够访问/ users / blake等。
在rails中执行此操作的正确方法是什么,这样我可以说link_to(@user)并生成正确的路径?
答案 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。在控制器中,您需要通过此字段获取模型。