Ayuda con Omniauth y agregando registros
-
24-10-2019 - |
Pregunta
Estoy creando una pequeña aplicación para conocer un poco mejor los rieles, he usado la gema Omniauth para permitir a los usuarios registrarse/firmar usando Facebook, que funciona muy bien.
Sin embargo, digamos, por ejemplo, uso un andamio para que el usuario agregue una dirección, ¿cómo puedo crear una relación entre los dos? Según tengo entendido un usuario has_many :addresses
y dirección belongs_to :user
Pero, ¿cómo creo un registro cuando un usuario agrega una dirección específicamente para ese usuario, por lo que cuando se trata de iniciar sesión solo ven las direcciones que agregaron?
Espero que tenga sentido
Gracias
Kt
Solución
Querrá alcanzar la creación utilizando la asociación. Esto significa que si el usuario ha_MANY: direcciones, querrá requerir inicio de sesión en un before_filter en directionesController. Luego, dentro de su controlador, querrá cambiar líneas como (desde la acción del programa):
Address.find(params[:id])
a
current_user.addresses.find(params[:id])
Del mismo modo, también querrá alcanzar sus acciones de creación a través de la asociación.