Tengo un problema al obtener Devise para que funcione de la manera que me gustaría con la herencia de tabla única.Rieles: Uso de Devise con herencia de tabla única
que tienen dos tipos diferentes de cuenta organizados de la siguiente manera:
class Account < ActiveRecord::Base
devise :database_authenticatable, :registerable
end
class User < Account
end
class Company < Account
end
Tengo las siguientes rutas:
devise_for :account, :user, :company
Los usuarios se registren en /user/sign_up
y las empresas se registren en /company/sign_up
. Todos los usuarios inician sesión usando un único formulario en /account/sign_in
(Account
es la clase principal).
Sin embargo, iniciar sesión a través de este formulario solo parece autenticarlos para el alcance Account
. Las solicitudes posteriores a acciones como /user/edit
o /company/edit
dirigen al usuario a la pantalla de inicio de sesión para el alcance correspondiente.
¿Cómo puedo lograr que Devise reconozca la cuenta 'tipo' y las autentique para el alcance correspondiente?
Cualquier sugerencia muy apreciada.
Lo usé y obtengo el error NoMethodError (método indefinido 'tipo' ... En la línea sign_in (resource.type ... ¿Qué debo hacer para cambiar esto? – Kevin
Supongo que solo hago una columna de cadena en el tipo de nombre de la cuenta? Y configurarlo para el nombre del modelo? – Kevin
Eso sería mi suposición también. ActiveRecord STI espera que. –