公共用户档案? Ruby on Rails + Devise

如何制作公共用户档案? 我使用Devise并且只有/ user /。 用户只能看到他的个人资料,我想制作/ user / user_id。

user_id – 公共用户配置文件。

要使用devise创建公共配置文件,请确保您设置了类似的路由

 resources :users 

并确保您已设置控制器操作来处理show资源。 如果没有,请创建一个控制器users_controller.rb并为其提供类定义以及show方法。

 class UsersController < ApplicationController def index @users = User.all respond_to do |format| format.html # index.html.erb format.xml { render :xml => @users } end end def show @user = User.find(params[:id]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @user } end end end 

接下来浏览到/users/1/users/2 (如果您设置了两个用户),您应该看到两个配置文件。 要将它们设置为私有,您应该在控制器操作中执行before过滤,并根据param[:user_id]检查current_user id。

您应该在config / routes.rb文件上创建一个路由,如下所示。 然后实现您的控制器方法和视图。

  match 'show/:id' => 'user#show' 

我不是那么有经验,但我是这样做的:

  • 在控制器中创建users_controller.rb

  • 在视图中创建/用户/典型视图,例如indexshow (当然在控制器中定义它们)

  • 在路由中添加resources :users

您只需将迁移添加到users表即可

 $ rails g migration add_birthday_to_users birthday:date 

并在users /:id页面上显示