Это параметры, которые передаются моему HTTP-запросу POST, а именно:
Parameters: {
"vision"=>{
"description"=>"dsfsfdsfdsfsd",
"image"=>"file:///Users/ozgecokyasar/Library/Developer/
CoreSimulator/Devices/EDD6C498-DACD-433E-B96D-3A30BAE7BA6D/data/
Containers/Data/Application/
6F633096-E665-46BB-952F-2775DD85A4A6/Library/Caches/
ExponentExperienceData/%2540anonymous%252Fmanifestation-react-
3ac1cbe2-549f-
49e7-8506-ef29638d1643/ImagePicker/0E426602-8110-4A9C-8B9A-
96D0BF1B2ECE.jpg"
}
}
ОДНАКО, он сохраняется как таковой (изображение равно нулю):
SQL (2.1ms) INSERT INTO "visions" ("image", "description", "created_at",
"updated_at", "user_id") VALUES ($1, $2, $3, $4, $5) RETURNING "id"
[["image", nil], ["description", "dsfsfdsfdsfsd"], ["created_at", "2019-
01-12 01:14:34.341356"],["updated_at", "2019-01-12 01:14:34.341356"],
["user_id", 3]]
Почему столбец изображения равен нулю?
visions_controller.rb:
def create
@vision = current_user&.visions.build(vision_params)
@vision.remote_image_url = params[:image]
@vision.save
render :create, status: :created
end
модель видения:
class Vision < ApplicationRecord
belongs_to :user
mount_uploader :image, ImageUploader
end
Однако я могу успешно сохранить удаленные URL-адреса в столбце изображений, если изменю действие создания вvisions_controller на:
def create
@vision = current_user&.visions.build(vision_params)
@vision.remote_image_url = 'ANY REMOTE IMAGE URL'
@vision.save
render :create, status: :created
end
Почему, когда я добавляю params[:image], передаваемый параметр изображения сохраняется как ноль?
params[:vision][:image]
? - person Sebastian Palma   schedule 12.01.2019@vision.remote_image_url = params[:vision][:image]
Однако я получаю следующий ответ:{"data":{"user":{"id":null,"image":{"url":null,"thumb":{"url":null},"small":{"url":null},"large":{"url":null},"medium":{"url":null}},"description":"dsfsfdsfdsfsd"}}}
Параметры были отправлены следующим образом:{"vision"=>{"description"=>"dsfsfdsfdsfsd", "image"=>"file:///Users/ozgecokyasar/Library/Developer/CoreSimulator/Devices/EDD6C498-DACD-433E-B96D/data/Containers/Data/Application/2775DA4A6/Library/Caches/ExponentExperienceData/%2540anonymous%.jpg"}}
- person Ozge Cokyasar   schedule 12.01.2019ActiveRecord::RecordInvalid (Validation failed: Image trying to download a file which is not served over HTTP):
. Итак, почему я не могу загрузить локальные файлы на S3, но удаленные URL-адреса загружаются отлично? - person Ozge Cokyasar   schedule 13.01.2019file:///Users/ozgecokyasar/Library/Developer/CoreSimulator/Devices/EDD6C498-DACD-433E-B96D/data/Containers/Data/Application/2775DA4A6/Library/Caches/ExponentExperienceData/%2540anonymous%.jpg"
, это указывает на локальный файл, который нигде не хранится. - person Sebastian Palma   schedule 13.01.2019