【发布时间】:2011-04-17 20:42:09
【问题描述】:
我尝试使用帖子更改指向用户名的路线。我知道这很简单,但由于某种原因,我目前无法计算它。我也尝试了设计文档页面上的所有内容。
我只想让路由布局使用用户名而不是 id 并且没有用户前缀。喜欢:
而不是
【问题讨论】:
我尝试使用帖子更改指向用户名的路线。我知道这很简单,但由于某种原因,我目前无法计算它。我也尝试了设计文档页面上的所有内容。
我只想让路由布局使用用户名而不是 id 并且没有用户前缀。喜欢:
而不是
【问题讨论】:
class User < ActiveRecord::Base
def to_param
username
end
end
在你的控制器中制作
@user = User.find_by_username(params[:id])
而不是
@user = User.find(params[:id])
这将使您的路线像http://example.com/users/username
要做出你想要的,你可以做这样的路线:
resources :users, :path => '' do
# nested resources...
end
所以,user_path(@user) 将使 url http://example.com/username 但这不是一个好习惯,因为它不是 REST。我建议你留下像http://example.com/users/username这样的网址
【讨论】:
@user = User.find_by_username(params[:id].downcase)