【发布时间】:2012-05-11 09:44:40
【问题描述】:
问题
我有一个 User 模型,以及从 User 模型继承的 Volunteer 模型:
class User < ActiveRecord::Base
end
class Volunteer < User
end
它们都保存在数据库的同一张表上,但有不同的控制器/路由。
路线是:
devise_for :users ....
devise_for :volunteers ....
这很好用,但我使用的授权系统依赖于current_user 助手。这对志愿者来说是失败的,因为 devise 为志愿者模型创建了 current_volunteer。
我尝试设置devise_for :volunteers, :singular => "user",这会创建一个current_user,它指代用户和志愿者,但现在的问题是志愿者的路线搞砸了。
问题
所以我的问题是,有没有办法让current_user 助手,指代用户以外的另一个模型?
【问题讨论】:
-
你用过cancan授权gem吗?
-
@Suborx,声明式授权,但已大大扩展
标签: ruby-on-rails devise