Rails 6: Active Storage удаляет пользователя после загрузки нового аватара

В настоящее время я пытаюсь внедрить активное хранилище в свое приложение. Обычно аватарка заполняется либо граватаром, либо фейсбуком. Я также хотел бы добавить возможность загрузки аватара с активным хранилищем.

Когда я пытаюсь загрузить изображение с активным хранилищем, пользователь каким-то образом удаляется, а не изображение?

Вот такое сообщение я получаю, когда пытаюсь загрузить новый аватар:

Started DELETE "/" for ::1 at 2019-08-17 22:43:49 +0200
Processing by RegistrationsController#destroy as HTML
  Parameters: {"authenticity_token"=>"bLZvgURiPpttwsjOy5qxiAjD6Bs7+5V95faJmK8SfjzMuokmNb52s3S7w/uJ4AJhRvakH7l2KTjKZ06+3ormvw==", "user"=>{"avatar"=>#<ActionDispatch::Http::UploadedFile:0x00007f0e38d09d30 @tempfile=#<Tempfile:/tmp/RackMultipart20190817-600-2yzlj3.jpg>, @original_filename="IMG-20190730-WA0010.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"user[avatar]\"; filename=\"IMG-20190730-WA0010.jpg\"\r\nContent-Type: image/jpeg\r\n">, "fullname"=>"My Fullname", "email"=>"[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "current_password"=>"[FILTERED]"}, "commit"=>"Save Changes"}
  User Load (0.8ms)  SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT ?  [["id", 4], ["LIMIT", 1]]
   (0.1ms)  begin transaction
  ActiveStorage::Attachment Load (1.2ms)  SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_id" = ? AND "active_storage_attachments"."record_type" = ? AND "active_storage_attachments"."name" = ? LIMIT ?  [["record_id", 4], ["record_type", "User"], ["name", "avatar"], ["LIMIT", 1]]
  User Destroy (3.9ms)  DELETE FROM "users" WHERE "users"."id" = ?  [["id", 4]]
   (8.5ms)  commit transaction
Redirected to http://localhost:3000/
Completed 302 Found in 43ms (ActiveRecord: 14.5ms | Allocations: 8406)

person arnasklas    schedule 17.08.2019    source источник


Ответы (1)


Начато УДАЛЕНИЕ "/" для ::1 в 2019-08-17 22:43:49 +0200

Вы отправили форму, используя метод DELETE. Поэтому пользователь удаляет. Вы должны отправить форму POST методом.

person demir    schedule 17.08.2019