Class: UsersController

Inherits:
ApplicationController
  • Object
show all
Defined in:
lib/generators/vue_crud/templates/example/users_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



45
46
47
48
49
50
51
52
53
54
55
56
# 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

#destroyObject



70
71
72
73
74
75
# 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

#indexObject



35
36
37
38
39
40
41
42
43
# 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

#infoObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 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

#updateObject



58
59
60
61
62
63
64
65
66
67
68
# 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