我有一个问题得到Devise工作的方式,我想单表继承。Rails:使用设计单表继承
我安排两个不同类型的帐户如下:
class Account < ActiveRecord::Base
devise :database_authenticatable, :registerable
end
class User < Account
end
class Company < Account
end
我有以下途径:
devise_for :account, :user, :company
在用户注册/user/sign_up
和公司在/company/sign_up
注册。所有用户使用单一表格登录/account/sign_in
(Account
是父类)。
但是,通过此表单登录时似乎只对Account
作用域进行身份验证。随后对诸如/user/edit
或/company/edit
等操作的请求将用户引导至相应作用域的登录屏幕。
我该如何设计识别帐户'类型'并验证它们的相关范围?
任何建议非常感谢。
我用这个,我得到了错误NoMethodError(未定义的方法'类型'...在行sign_in(resource.type ...我需要做什么来改变这个? – Kevin 2014-10-08 00:20:02
我猜只是做一个字符串列在帐户名称类型?并将其设置为模型名称? – Kevin 2014-10-08 01:37:29
这也是我的猜测。ActiveRecord STI期望。 – 2014-12-08 18:05:34