¿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!
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.
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