Mi formulario de registro, que es un formulario para el modelo de Usuarios, toma un valor de cadena para la empresa. Sin embargo, acabo de hacer un cambio para que los usuarios pertenezcan a las empresas. Por lo tanto, necesito pasar un objeto de la Compañía al modelo de Usuarios.Cómo eliminar un campo de params [: algo]
Quiero usar el valor de cadena de la forma de obtener el objeto de la empresa:
@user.company = Company.find_by_name(params[:company])
Creo que los trabajos anteriores, sin embargo la forma es pasar el: empresa (que es una cadena) en el modelo cuando llamo:
@user = User.new(params[:user])
Por lo tanto, quiero saber (y no puedo encontrar la manera) para eliminar el: param empresa antes de pasarlo al modelo de usuario.
Esto es muy bueno, pero debemos hacerlo dentro del controlador? Parece que el controlador sabe demasiado sobre la vista si hacemos eso. – jn29098
Estoy usando Rails 4.0, y 'model_params.delete: key_name' no funciona, ¿alguna idea de por qué? – Zorayr
borrar el hash de params es una MALA IDEA. Confunde a las personas fácilmente durante la depuración, etc. Utilice un hash personalizado que pase para asignar atributos, p. use '' 'assin_params = params.dup.delete (: company)' ''. nunca borre directamente de params –