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?

¿Fue útil?

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
scroll top