2010-12-13 43 views
5

Soy un poco novato en Rails y siento que me falta un truco aquí. Estoy intentando agregar un campo phone_number a mi modelo de Usuario generado por Devise, pero estoy teniendo problemas para guardarlo. He hecho el rails generate devise:views, he actualizado el archivo edit.html.erb para agregar en el campo: phone_number y he creado una migración para agregar el campo phone_number al modelo. No está guardando en el modelo porque (según lo entiendo) no puedo actualizar el controlador para incluir los nuevos campos.Agregar campos al modelo de usuario en Devise

¿Necesito crear un app/controllers/users/registration_controller.rb definido con class Users::RegistrationsController < Devise::RegistrationsController y luego aplicar un parche al método de actualización? ¿O hay una manera más directa/elegante/más fácil?

Me doy cuenta de que hay un par de otras preguntas relacionadas con esto en el sitio, pero una no ofrece respuestas útiles, y la otra simplemente detalla lo que menciono aquí. ¿Hay algo más para eso?

Gracias.

Respuesta

11

Después de agregar el campo a su base de datos mediante una migración, también deberá agregarlo a su lista de atributos accesibles en su modelo de Usuario. Su lista attr_accessible debe verse de la siguiente manera según los módulos de diseño que esté utilizando.

attr_accessible :email, :password, :password_confirmation, :phone_number 
+0

Eso es todo! Sabía que me faltaba algo ... –

+0

En Rails 4, recuerde usar parámetros potentes. p.ej. 'params.require (: user) .permit (: email,: password,: password_confirmation,: phone_number)' – Nateowami

Cuestiones relacionadas