公共用户档案? 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
-
在视图中创建/用户/典型视图,例如
index
和show
(当然在控制器中定义它们) -
在路由中添加
resources :users
您只需将迁移添加到users表即可
$ rails g migration add_birthday_to_users birthday:date
并在users /:id页面上显示