如何制作公共用户个人资料?我使用Devise并且只有/ user /。用户只能看到他的个人资料,我想制作/ user / user_id。
user_id - 公共用户个人资料。
答案 0 :(得分:3)
要使用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 filter,并根据param[:user_id]
检查current_user id。
答案 1 :(得分:1)
您应该在config / routes.rb文件中创建一个路由,如下所示。然后实现您的控制器方法和视图。
match 'show/:id' => 'user#show'
答案 2 :(得分:0)
我不是那么有经验,但我是这样做的:
在控制器中创建users_controller.rb
在视图中创建/用户/典型视图,例如index
和show
(当然在您的控制器中定义它们)
在路线中添加resources :users
您只需将迁移添加到users表,例如
$ rails g migration add_birthday_to_users birthday:date
并在users /:id页面
上显示