2011-04-04 10 views
16

¿Cómo hago para acceder al objeto actual_user de Devises dentro de un modelo? Quiero agregar automáticamente el ID de usuario actual a un registro cuando crean algo. Sé que puedo configurar manualmente el user_id dentro del controlador, pero creo que sería más fácil/más limpio si lo maneja el modelo.Acceso usuario_actual del desarrollador en el modelo

Respuesta

52

Esencialmente, este tipo de lógica no pertenece a un Modelo, por lo que es mejor pasar current_user en una función en el modelo o en la creación. This answer lo resume.

Lo sé, lo sé, esa no es la respuesta que usted quería. Desafortunadamente, puede parecer más limpio para ti, pero agrega sobrecarga a tu modelo que realmente no quieres.

+6

¡Aquí hay una flecha hacia arriba para negar ese uso incorrecto de una flecha hacia abajo! Cheers – jbearden

+0

@Kelly Me gustaría editar tu respuesta para incluir la idea de * "pasar' current_user' al modelo "* explícitamente como alternativa, pero no pude entender realmente cómo sin sentir que también podría estar cambiando tu respuesta mucho. – ANeves

Cuestiones relacionadas