class Rbac::RolesController

Public Instance Methods

create() click to toggle source

POST /roles POST /roles.json

# File lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb, line 30
def create
  @role = Rbac::Role.new(role_params)

  respond_to do |format|
    if @role.save
      @role.groups = Rbac::Group.where(id: params[:group_ids])
      format.html { redirect_to rbac_roles_path, notice: 'Role was successfully created.' }
      format.json { render :show, status: :created, location: @role }
    else
      format.html { redirect_to new_rbac_role_path }
      format.json { render json: @role.errors, status: :unprocessable_entity }
    end
  end
end
destroy() click to toggle source

DELETE /roles/1 DELETE /roles/1.json

# File lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb, line 62
def destroy
  @role.destroy
  respond_to do |format|
    format.html { redirect_to rbac_roles_url, notice: 'Role was successfully destroyed.' }
    format.json { head :no_content }
  end
end
edit() click to toggle source

GET /roles/1/edit

# File lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb, line 23
def edit
  @groups = Rbac::Group.where("is_active = ?", true)
  @role_groups = @role.groups
end
index() click to toggle source

GET /roles GET /roles.json

# File lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb, line 7
def index
  @roles = Rbac::Role.all
end
new() click to toggle source

GET /roles/new

# File lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb, line 17
def new
  @role = Rbac::Role.new
  @groups = Rbac::Group.where("is_active = ?", true)
end
show() click to toggle source

GET /roles/1 GET /roles/1.json

# File lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb, line 13
def show
end
update() click to toggle source

PATCH/PUT /roles/1 PATCH/PUT /roles/1.json

# File lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb, line 47
def update
  respond_to do |format|
    if @role.update(role_params)
      @role.groups = Rbac::Group.where(id: params[:group_ids])
      format.html { redirect_to rbac_roles_path, notice: 'Role was successfully updated.' }
      format.json { render :show, status: :ok, location: @role }
    else
      format.html { redirect_to edit_rbac_role_path }
      format.json { render json: @role.errors, status: :unprocessable_entity }
    end
  end
end

Private Instance Methods

role_params() click to toggle source

Never trust parameters from the scary internet, only allow the white list through.

# File lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb, line 77
def role_params
  params.require(:rbac_role).permit(:role_name, :role_description, :is_active, :group_ids)
end
set_role() click to toggle source

Use callbacks to share common setup or constraints between actions.

# File lib/generators/rbac/create/templates/controllers/rbac/roles_controller.rb, line 72
def set_role
  @role = Rbac::Role.find(params[:id])
end