用户名路由转到个人资料#show

时间:2013-02-22 16:38:05

标签: ruby-on-rails routing

我有一个用户模型,其中用户有用户名,用户有has_one:个人资料

我想制作一条路线,这样如果一个人去“http://www.website.com/username”,就会转到个人资料#show。

在我的路线底部,我有:

match ":username" => "profiles#show"

但是,它没有找到我期望的个人资料的ID。

ActiveRecord::RecordNotFound in ProfilesController#show
Couldn't find Profile without an ID

我只是不确定如何正确制作路线所以我从以下用户名获取用户的ID

感谢

1 个答案:

答案 0 :(得分:2)

您正在:username中传递params。您需要根据关联的Profile模型的User找到:username。在你的行动中:

@profile = User.find_by_username(params[:username]).profile