【发布时间】:2015-08-02 06:00:18
【问题描述】:
我目前正在使用 Devise gem 来处理用户身份验证。
有一些辅助方法基本上允许您在用户访问控制器中的某个路由/视图之前对其进行身份验证。
即如果您需要user_type_ones 登录才能访问/home:
class FooController < ApplicationController
before_action :authenticate_user_type_one!
def home
#stuff
end
end
你会怎样做才能让特定类型的用户可以访问该页面。
所以如果我有三种类型的用户,user_type_one、user_type_two 和 user_type_three,我只希望 user_type_ones 和 user_type_twos 访问 /home,我想做这样的事情.
before_action :authenticate_user_type_one! || :authenticate_user_type_two!
【问题讨论】:
-
这三种类型的用户是三种完全不同的模型,还是以某种方式继承?为什么不定义另一个
before_action来检查current_user属于哪种类型的用户?
标签: ruby-on-rails ruby-on-rails-4 devise