Я использую Rails 5 для создания JSON Api.Rails 5. Сильные параметры не требуются, если установлен один ключ разрешения
Мой контроллер использует сильные параметры с одним требуют атрибута, как это:
params.require(:require_attribute).permit(:permit_attribute1,:permit_attribute2)
Обычно я должен послать мой JSON как это:
{
"require_attribute":{
"permit_attribute1": "data",
"permit_attribute2": "data"
}
}
И если требуемый атрибут отсутствует, Я должен получить это сообщение:
"ActionController::ParameterMissing: param is missing or the value is empty: require_attribute"
Моя проблема заключается в том, что если я удаляю требуемый атрибут из JSON, и у меня есть один атрибут permit
, который имеет сильные параметры, он работает.
JSON Я посылаю:
{
"permit_attribute1": "data",
}
Когда я Params в log
у меня есть:
{ "permit1" => данные, "контроллер" => "mycontroller", "действие" => "создать", "require_attribute" => { "permit1" => 1}}
Кажется, Rails создает хэш с требуемым ключом, вместо того, чтобы поднимать ошибку. Но я хочу заставить необходимый атрибут, когда получаю JSON.
У кого-нибудь есть идея?
Что вы используете для отправки этого «более простого» json? Является ли он угловатым/неустойчивым, случайно? –
Я использую curl в консоли или Postman addon – Kramougna