sample_rails_tailwind/app/controllers/users_controller.rb
songtianlun 978c44b682 feat: add user profile editing functionality
- Implemented edit and update actions in UsersController
- Created edit user view and form partial
- Updated user model validation to allow nil password
- Modified header to link to user settings
- Added integration tests for successful and unsuccessful edits

This commit introduces the ability for users to edit their profile
information, including name and email. It also includes validation
updates to allow users to update their profiles without changing
their password. Integration tests ensure that both successful and
unsuccessful edit attempts are handled correctly.
2025-01-03 10:55:42 +08:00

47 lines
886 B
Ruby

class UsersController < ApplicationController
include SessionsHelper
def show
@user = User.find(params[:id])
# debugger
end
def new
@user = User.new
# debugger
end
def create
@user = User.new(user_params)
if @user.save
reset_session
log_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
# redirect_to user_url(@user)
else
render 'new'
end
end
def edit
@user = User.find(params[:id])
end
def update
@user = User.find(params[:id])
if @user.update(user_params)
flash[:success] = "Profile updated"
redirect_to @user
# redirect_to user_url(@user)
else
render 'edit'
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password,
:password_confirmation)
end
end