Я хочу сохранить несколько изображений в ruby ​​на рельсах с Vue.js - PullRequest
0 голосов
/ 06 ноября 2019

Я хочу сохранить несколько изображений в моем проекте rails. Я мог бы отправлять данные в виде массива, чтобы проверить их как «params [: images]». Я хочу сохранить его как объект «пузырь», который имеет «заголовок», «изображение», «тело», «нижний колонтитул» в качестве поля. Однако, если я сохраню его как объект, я смог сохранить все поля, кроме изображения. Я хочу знать, в чем проблема, и получить несколько советов, чтобы сохранить ее в базе данных.

Когда я проверял params [: images], там был файл. Однако, если я попытался сохранить его как объект, такой как @bubble = Bubble.new ({header: header, image: params [: images] [i], body: body, footer: footer}), @ bubble.image isноль (нуль). Я сохранил другой объект с изображением в Amazon S3, и он работал.

(...)
var data = new FormData();
          for(var i=0;i<this.bubble_array.length;i++){
            data.append('headers[]', this.bubble_array[i].header)
            data.append('images[]', this.bubble_array[i].hero)
            data.append('bodies[]', this.bubble_array[i].body)
            data.append('footers[]', this.bubble_array[i].footer)
          }
          data.append('bubble_num',this.bubble_array.length)
axios.post('api/bubbles',data)
          .then((res)=>{
            console.log(res.data)
          },(error)=>{
            console.log(error)
          })
(...)
# bubbles_controller
def create
  bubble_num = params[:bubble_num].to_i

    for i in 0...bubble_num do
      header = params[:headers][i]
      image = params[:images][i]
      body = params[:bodies][i]
      footer = params[:footers][i]
      puts "image"
      puts image # in the console I can check the file in it
      @bubble = Bubble.new({header: header, image: params[:images][i], body: body, footer: footer})
      puts "@bubble.image"
      puts @bubble.image # it is empty
      @bubble.save # only image is empty
    end
end
# bubble.rb (model)
class Bubble < ApplicationRecord
  mount_uploader :image, ImageUploader

  before_destroy :destroy_assets

  def destroy_assets
    self.image.remove! if self.image
    self.save!
  end

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