Я использую Rails API и Vue для front-end.Я пытаюсь позволить пользователям загружать свои аватары с помощью Active Storage.Однако Rails жалуется, что параметр аватара недопустим.
На входе у меня есть простой ввод
<input id="avatar" type="file" @change="onImageChange" />
, который при изменении триггеров
onImageChange(event) {
this.avatar = event.target.files[0];
}
Затем при отправке
submit() {
const formData = new FormData();
formData.append("avatar", this.avatar);
this.axios
.put("/api/signup", {
...
user: {
...
avatar: formData
}
})
Мы получаем запрос в обновлении RegistrationsController #.Мы включаем аватар в белый список
def account_update_params
params.require(:user).permit(:avatar, ...)
end
И пользователь модели has_one_attached: avatar.
Однако при отправке я получаю
Параметры: {"headers" => {...}, "user" => {..., "avatar" => {}}}
Недопустимый параметр:: avatar
Я также попытался внести его в белый список, используя .permit! (: Avatar) и получил тот же результат.Есть идеи, в чем может быть проблема?Спасибо!