目前我delayed-web
在我的项目中使用 gem。我有多个用户角色,我不希望角色是销售的用户可以访问页面延迟的 Web 后台界面。我已经有一种方法来检查我的应用程序控制器中的身份验证。但是,我不知道如何使它在路由文件中工作。任何建议将不胜感激。
更新:我没有使用 Devise gem。我推出自己的身份验证。
application_controller.rb:
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_action :authenticate
before_action :check_pricer_role, except: [:export_for_customer]
helper_method :check_pricer_role
def check_pricer_role
unless current_user && (current_user.pricer? || current_user.admin?)
redirect_to errors_not_found_path
end
end
end
路线.rb:
Rails.application.routes.draw do
# How to apply the defined authentication here?
mount Delayed::Web::Engine, at: '/jobs'
end