thirteen-tien-len/app/controllers/users_controller.rb
2023-11-20 15:40:51 +00:00

51 lines
1.2 KiB
Ruby

class UsersController < ApplicationController
before_action :authenticate_user!
after_action :verify_authorized
def index
@users = policy_scope User.all
authorize @users
end
def show
@user ||= User.find(params[:id])
@micropost = current_user.microposts.build if current_user.signed_in?
@microposts = @user.microposts.paginate(page: params[:page])
authorize @user
end
def home
authorize current_user
@user = current_user
@micropost = current_user.microposts.build if current_user.signed_in?
@microposts = @user.microposts.paginate(page: params[:page])
@feed_items = current_user.feed.paginate(page: params[:page])
# authorize @user
# redirect_to current_user
end
def update
@user = User.find(params[:id])
authorize @user
if @user.update_attributes(secure_params)
redirect_to users_path, notice: 'User updated.'
else
redirect_to users_path, alert: 'Unable to update user.'
end
end
def destroy
user = User.find(params[:id])
authorize user
user.destroy
redirect_to users_path, notice: 'User deleted.'
end
private
def secure_params
params.require(:user).permit(:role)
end
end