Skip to content

Instantly share code, notes, and snippets.

@mahm
Last active August 29, 2015 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mahm/03c8555bb573948c6735 to your computer and use it in GitHub Desktop.
Save mahm/03c8555bb573948c6735 to your computer and use it in GitHub Desktop.
# members_controller.rb
class MembersController < ApplicationController
def destroy
if !checkadmin? then return end
@member = Member.find(params[:id])
@member.destroy
respond_to do |format|
format.html { redirect_to members_url }
format.json { head :no_content }
end
end
end
# application_controller.rb
class ApplicationController < ActionController::Base
def checkadmin?
if session[:login].admin then
return true
else
redirect_to '/members/' + session[:login].id.to_s
return false
end
end
end
# members_controller.rb
class MembersController < ApplicationController
before_action :redirect_to_member_page, unless: -> { current_member.admin? }, only: %i(destroy)
def destroy
@member = Member.find(params[:id])
@member.destroy
respond_to do |format|
format.html { redirect_to members_url }
format.json { head :no_content }
end
end
end
# application_controller.rb
class ApplicationController < ActionController::Base
helper_method :current_member
private
def current_member
@current_member ||= Member.find_by(id: session[:member_id])
end
def redirect_to_member_page
redirect_to member_url(current_member.id)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment