это способ Rails Controlling массового назначения атрибутов с помощью strong_parameters . этот подход запрещает массовое назначение атрибута модели из контроллера, если этот атрибут не был внесен в белый список.
белый список настроен с использованием двух методов
- require , вызывая require будет проверять, что параметр действительно присутствует, если его нет, будет выдана ошибка
- разрешение , разрешение вызова со списком атрибутов позволит этим атрибутам «пройти» для модели во время массовое присвоение (это ограничение отключает внедрение кода путем передачи запрещенных объектов, хэшей и т. д. c)
из вашего примера выше
params.require(:post).permit(:description, :image)
, что означает экземпляр сообщения должен существовать в параметрах и ключах / столбце, который позволяет передавать только описание и изображение, если ваша форма передает другое поле, например: other_description и оно не указано в разрешении, оно не будет сохранено