如何使用设计导航到用户显示页面?

时间:2011-07-13 02:22:09

标签: ruby-on-rails devise show

就像标题所说,我正在使用设计。我想导航到/ users / 1或者current_users路径。当我尝试link_to(current_user.name, user_path)时,我发现了一个错误。 未定义的本地变量或方法`user'for#<#:0x00000101d2dfc8>

我没有使用正确的道路吗?我需要路由它吗?

此外,这与第一个相关,我将如何导航到不同的用户显示页面(不是当前用户)

3 个答案:

答案 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"