master
 1class RegistrationsController < PublicController
 2  around_action :within_transaction, only: :create
 3
 4  def new
 5    @user = User.new
 6    gon.usernames = User.pluck(:username).sort
 7  end
 8
 9  def create
10    @user = User.new(secure_params)
11    if @user.save
12      session[:user_id] = User.login(
13        secure_params[:username],
14        secure_params[:password]
15      ).access(request)
16      UserMailer.registration_email(@user).deliver_later
17      flash[:notice] = translate(".success")
18      redirect_to edit_profile_path(@user.username)
19    else
20      flash[:error] = @user.errors.full_messages
21      redirect_to new_registration_path
22    end
23  end
24
25  private
26
27  def secure_params
28    params.require(:user).permit(:username, :email, :password, :terms_and_conditions)
29  end
30end