欢迎所有人,Rails的新手在这里。我目前在路由/配置文件到当前用户的个人资料时遇到问题。
我的路线如下:
匹配“个人资料”=> “用户#显示”
然而,这是因为“无法找到没有ID的用户”错误。我知道它与用户控制器中的show方法有关。那段代码很简单:
def show
@user = User.find(params [:id])
端
现在,我可以使用“@user = current_user”在我的Users控制器中添加另一个方法,它可以正常工作。但是,它似乎有点多余,并且还需要显示视图页面的副本。从我用Rails收集的内容来看,这就是保持整洁。
如果有人能指出我正确的方向,我将不胜感激。谢谢。
答案 0 :(得分:4)
因为您可能希望对单个路径(/ account)和复数路径(/ accounts / 45)使用相同的控制器,所以奇异资源会映射到多个控制器。
所以我认为您希望将代码更改为以下
def show
@user = !params[:id].nil? ? User.find(params[:id]) : current_user
end