34 lines
820 B
Ruby
34 lines
820 B
Ruby
class ApplicationController < ActionController::Base
|
|
# Only allow modern browsers supporting webp images, web push, badges, import maps, CSS nesting, and CSS :has.
|
|
allow_browser versions: :modern
|
|
|
|
# Changes to the importmap will invalidate the etag for HTML responses
|
|
stale_when_importmap_changes
|
|
|
|
helper_method :current_user, :logged_in?
|
|
|
|
private
|
|
|
|
def current_user
|
|
@current_user ||= User.find_by(id: session[:user_id]) if session[:user_id]
|
|
end
|
|
|
|
def logged_in?
|
|
current_user.present?
|
|
end
|
|
|
|
def require_login
|
|
unless logged_in?
|
|
flash[:alert] = "ログインが必要です"
|
|
redirect_to login_path
|
|
end
|
|
end
|
|
|
|
def require_admin
|
|
unless logged_in? && current_user.admin?
|
|
flash[:alert] = "管理者権限が必要です"
|
|
redirect_to root_path
|
|
end
|
|
end
|
|
end
|