我有一个用户模型,其中用户有用户名,用户有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
感谢
答案 0 :(得分:2)
您正在:username
中传递params
。您需要根据关联的Profile
模型的User
找到:username
。在你的行动中:
@profile = User.find_by_username(params[:username]).profile