¿Modificar ideal para verificar si hay permiso para registrarse?
-
28-10-2019 - |
Pregunta
Mi aplicación tiene un Permission
modelo y permissions
mesa con un email
campo. Usuarios existentes (User
modelo) puede agregar las direcciones de correo electrónico de las personas a las que les gustaría invitar para ver su información. Esas direcciones de correo electrónico se almacenan en el permissions.email
campo en la base de datos.
¿Cómo hago para modificar el proceso de registro de dispositivos para que solo permita a las personas con una dirección de correo electrónico en el permissions
tabla para crear una cuenta?
Solución
Hice esto antes con un validador en el modelo de usuario; p.ej
validates :email, :my_access_control => true
y luego crear algo como esto
class MyAccessControlValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
if ... not in permissions table..
... add to objects error collection why they cannot register
end
end
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow