class UsersController

Public Instance Methods

create() click to toggle source
# File lib/generators/vue_crud/templates/example/users_controller.rb, line 45
def create
  @user = User.new(user_params)
  respond_to do |format|
      format.json do
          if @user.save
              render 'show.json.jbuilder'
          else
              render :json => { :errors => @user.errors.messages }, :status => 422
          end
      end
  end
end
destroy() click to toggle source
# File lib/generators/vue_crud/templates/example/users_controller.rb, line 70
def destroy
  @user.destroy
  respond_to do |format|
    format.json { render :json => {}, :status => :no_content }
  end
end
index() click to toggle source
# File lib/generators/vue_crud/templates/example/users_controller.rb, line 35
def index
  @users = User.includes(:profile).includes(:services).all
  respond_to do |format|
      format.html
      format.json do
          render 'index.json.jbuilder'
      end
  end
end
info() click to toggle source
# File lib/generators/vue_crud/templates/example/users_controller.rb, line 4
def info
  @info = {
      :url_prefix => '/admin/users',
      :titles => {
          :display_name => 'user',
          :title => 'User',
          :subtitle => 'manage user',
          :title_attribute_model_prefix => 'profile_attributes',
          :title_attribute => 'company_name'
      },
      :structure => {:profile_attributes => {}, :service_ids => []},
      :model_attributes => [
          {:visible => true, :editable => false, :model_prefix => '', :name => 'first_service', :display_name => 'First services', :type => 'img', :input_class => '', :data_attribute => ''},
          {:visible => true, :editable => false, :model_prefix => '', :name => 'id', :display_name => 'ID', :type => 'text', :input_class => '', :data_attribute => ''},
          {:visible => true, :editable => true, :model_prefix => '', :name => 'email', :display_name => 'Email', :type => 'email', :input_class => '', :data_attribute => ''},
          {:visible => false, :editable => true, :model_prefix => '', :name => 'password', :display_name => 'Password', :type => 'password', :input_class => '', :data_attribute => ''},
          {:visible => false, :editable => true, :model_prefix => '', :name => 'password_confirmation', :display_name => 'Password confirmation', :type => 'password', :input_class => '', :data_attribute => ''},
          {:visible => true, :editable => true, :model_prefix => 'profile_attributes', :name => 'company_name', :display_name => 'Company name', :type => 'text', :input_class => '', :data_attribute => ''},
          {:visible => true, :editable => true, :model_prefix => 'profile_attributes', :name => 'tel', :display_name => 'Tel', :type => 'text', :input_class => '', :data_attribute => ''},
          {:visible => true, :editable => true, :model_prefix => 'profile_attributes', :name => 'mobile', :display_name => 'Mobile', :type => 'text', :input_class => '', :data_attribute => ''},
          {:visible => false, :editable => true, :model_prefix => 'profile_attributes', :name => 'fax', :display_name => 'Fax', :type => 'text', :input_class => '', :data_attribute => ''},
          {:visible => false, :editable => true, :model_prefix => 'profile_attributes', :name => 'address', :display_name => 'Address', :type => 'text', :input_class => '', :data_attribute => ''},
      ]
  }
  respond_to do |format|
      format.json do
          render :json => @info.to_json
      end
  end
end
update() click to toggle source
# File lib/generators/vue_crud/templates/example/users_controller.rb, line 58
def update
  respond_to do |format|
      format.json do
          if @user.update(user_params)
              render :json => @user
          else
              render :json => { :errors => @user.errors.messages }, :status => 422
          end
      end
  end
end

Private Instance Methods

set_user() click to toggle source
# File lib/generators/vue_crud/templates/example/users_controller.rb, line 78
def set_user
  @user = User.find(params[:id])
end
user_params() click to toggle source
# File lib/generators/vue_crud/templates/example/users_controller.rb, line 82
def user_params
  params.require(:model).permit(:email, :password, :password_confirmation, :profile_attributes => [:company_name, :tel, :mobile, :fax, :address, :note])
end