Задать вопрос
  • Как работает params в Rails 4?

    Что значит много?

    Данная конструкция призвана перенести контроль над доступными для массового редактирования параметры из модели в контроллер. Ибо там ему и место.

    Работает она следующим образом. params - на самом деле не обычный хеш, а объект определенного класса. Когда модель в качестве параметров получает подобный объект, она запрашивает у него список аттрибутов, которые можно редактировать.

    К примеру:
    params = { user: { email: 'mail@example.com', password: '123' } }


    если вы хотите, чтобы можно было редактировать только email, лежащий внутри хеша с пользователем, то пишите: params.require(:user).permit(:email).

    В том случае, если вы принимаете в качестве параметра массив: params.permit(:some_hash).require(some_array: [])
    Ответ написан
    1 комментарий