使用Devise创建自定义用户资源

时间:2011-02-03 21:20:17

标签: ruby-on-rails devise

我正在使用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的用户”。

1 个答案:

答案 0 :(得分:3)

我在同一个应用中使用devise_for :usersresources :users完全没有问题 - 主要是因为能够通过后端管理用户 - 您可以随时将资源限制为只显示show方法如果这就是你需要的全部

resources :users, :only => ["show"]