Что такое слово params.требуется (человек).разрешение (: имя,: возраст) ' делать в Rails 4?
все примеры сильных параметров в Rails 4 docs используют params.require(:person).permit(:name, :age)
.
кто-нибудь может разобрать и объяснить, что происходит с require
и permit
здесь?
спасибо!
1 ответ:
The
params
в контроллере выглядит как хэш, но на самом деле это экземплярActionController::Parameters
, который содержит несколько методов, таких какrequire
иpermit
.The
require
метод гарантирует, что определенный параметр присутствует, и если он не указан, тоrequire
метод выдает ошибку. Он возвращает экземплярActionController::Parameters
для ключа, переданного вrequire
.The
permit
метод возвращает копию параметры объекта, возвращающие только разрешенные ключи и значения. При создании новой модели ActiveRecord в модель передаются только разрешенные атрибуты.он очень похож на белый список, который ранее был включен в модели ActiveRecord, но имеет больше смысла, чтобы он был в контроллере.