Co to jest "params".require (: person).Zezwolenie (: nazwa,: wiek` ' robi w Rails 4?

Wszystkie przykłady silnych parametrów w Rails 4 Docs używają params.require(:person).permit(:name, :age).

Czy ktoś mógłby dekonstruować i wyjaśnić, co dzieje się z require i permit tutaj?

Dzięki!
Author: Erik Trautman, 2013-08-25

1 answers

params w kontrolerze wygląda jak Hash, ale w rzeczywistości jest to instancja ActionController::Parameters, który dostarcza kilka metod, takich jak require i permit.

The require metoda zapewnia, że określony parametr jest obecny, a jeśli nie jest podany, metoda require wyświetla błąd. Zwraca instancję ActionController::Parameters dla klucza przekazanego do require.

The permit metoda zwraca kopię obiektu parameters, zwracając tylko dozwolone klucze i wartości. Podczas tworzenia nowego modelu ActiveRecord do modelu przekazywane są tylko dozwolone atrybuty.

Wygląda bardzo podobnie do białej listy, która była wcześniej uwzględniana w modelach ActiveRecord, ale bardziej sensowne jest umieszczenie jej w kontrolerze.

 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/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-25 15:31:57