You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
asciinema.org/app/controllers/usernames_controller.rb

35 lines
603 B
Ruby

class UsernamesController < ApplicationController
before_filter :ensure_authenticated!
def new
@user = load_user
end
def create
@user = load_user
if @user.update(username: params[:user][:username].strip)
redirect_to_profile(@user)
else
@error = @user.errors[:username].to_s =~ /taken/ ? :username_taken : :username_invalid
render :new
end
end
def skip
redirect_to_profile(current_user)
end
private
def load_user
User.find(current_user.id)
end
def redirect_to_profile(user)
redirect_back_or_to profile_path(user)
end
end