Rails API - Локальный файл не загружается в s3 / Heroku - PullRequest
0 голосов
/ 12 января 2019

Это параметры, которые передаются моему 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] передаваемый параметр изображения сохраняется как nil?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...