我正在使用Devise进行用户注册,并希望构建一个与用户控制器中的show动作相对应的“show user”页面。如果没有Devise,只需在routes.rb中添加“resources:users”行。但由于我不想重复登录,注册等页面,我不能使用资源:用户,并且必须手动构建show user页面。这是怎么做到的?
在用户控制器中,我想像这样的简单动作是必要的:
def show
@user = User.find(params[:id])
end
视图还可以包含一些简单的内容:
<%= @user.name %>, <%= @user.email %>
但这是我不理解的路线文件。类似的东西:
match '/user', :to => 'users#show'
无效,因为您收到错误“无法找到没有ID的用户”。
答案 0 :(得分:3)
我在同一个应用中使用devise_for :users
和resources :users
完全没有问题 - 主要是因为能够通过后端管理用户 - 您可以随时将资源限制为只显示show方法如果这就是你需要的全部
resources :users, :only => ["show"]