我的路线中有一个 User 类和 map.resources :users 。
如果我创建一个链接
link_to @user.name, @user
它会以某种方式自动创建指向 /users/3 的链接,其中 3 是用户的 ID。如果我想创建更多用户友好的链接并且不是通过 ID 而是通过用户名来识别用户怎么办。所以路径看起来像 /users/some_user_name。如何为@user 重新分配默认链接,这样我就不需要更改所有模板?
我的路线中有一个 User 类和 map.resources :users 。
如果我创建一个链接
link_to @user.name, @user
它会以某种方式自动创建指向 /users/3 的链接,其中 3 是用户的 ID。如果我想创建更多用户友好的链接并且不是通过 ID 而是通过用户名来识别用户怎么办。所以路径看起来像 /users/some_user_name。如何为@user 重新分配默认链接,这样我就不需要更改所有模板?
您可以使用FriendlyId宝石。这正是你想要的。例如,如果您希望链接看起来像/users/username
:
class User < ActiveRecord::Base
has_friendly_id :username
end
找到了。
在 User.rb 中:
def to_param
username
end