就像标题所说,我正在使用设计。我想导航到/ users / 1或者current_users路径。当我尝试link_to(current_user.name, user_path)
时,我发现了一个错误。
未定义的本地变量或方法`user'for#<#:0x00000101d2dfc8>
我没有使用正确的道路吗?我需要路由它吗?
此外,这与第一个相关,我将如何导航到不同的用户显示页面(不是当前用户)
答案 0 :(得分:3)
您需要做三件事才能获得所需的视图,因为设计不提供标准的用户路径。
1)在config / routes.rb中创建路由。 Devise没有提供标准路线,根据我的经验,rake路线只是证实了这一点。我用过:
match '/users/:id', :to => 'users#show', :as => :user, :via => :get
取得了不同的成功
2)创建一个用户控制器,显示部分已正确填写
3)创建一个视图文件:user / show并添加你想要显示的部分。
答案 1 :(得分:2)
我对设计并不熟悉,但如果设计与Rails惯例不同,我会感到惊讶。您需要将用户传递给路径助手:link_to(current_user.name, user_path(current_user))
答案 2 :(得分:0)
对我有用的是在“routes.rb”中添加@ before用户:
"match 'users/:id' => 'users#show', :as => @user"