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?
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.
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