¿Qué es `params.require (: persona).permiso:nombre, edad)` haciendo en Rails 4?


Todos los ejemplos de parámetros fuertes en los documentos Rails 4 usan params.require(:person).permit(:name, :age).

¿Podría alguien por favor deconstruir y explicar lo que está ocurriendo con require y permit aquí?

Gracias!

Author: Erik Trautman, 2013-08-25

1 answers

El params en un controlador parece un Hash, pero en realidad es una instancia de ActionController::Parameters, que proporciona varios métodos tales como require y permit.

El require método asegura que un parámetro específico está presente, y si no se proporciona, el método require lanza un error. Devuelve una instancia de ActionController::Parameters para la clave pasada a require.

El permit method devuelve una copia del objeto parameters, devolviendo solo las claves y valores permitidos. Al crear un nuevo modelo ActiveRecord, solo se pasan al modelo los atributos permitidos.

Se parece mucho a la lista blanca que se incluía anteriormente en los modelos ActiveRecord, pero tiene más sentido que esté en el controlador.

 160
Author: fivedigit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-25 15:31:57