【问题标题】:ActiveAdmin / Carrierwave multiple image upload displayActiveAdmin/Carrierwave 多图上传展示
【发布时间】:2018-08-29 23:34:50
【问题描述】:

您好 Everebody,我在显示我多次上传的照片时遇到问题

Error with rails

你可以看到我这次上传的不同文件

ActiveAdmin 文件

ActiveAdmin.register Photo do

permit_params :car_id, { photos: [] }

index do
  selectable_column
  id_column
  column "numéro voiture", :car_id
  column "Photo" do |photo|
      "<a href='#{photo.photos_urls}'><img src='#{photo.photos_urls}' width='150'></a>".html_safe
  end

  actions
end

form do |f|
  f.inputs do
    f.input :car_id
    f.input :photos, as: :file, input_html: { multiple: true }
  actions
end

photos_uploader.rb

 class PhotosUploader < CarrierWave::Uploader::Base
  CarrierWave::SanitizedFile.sanitize_regexp = /[^_[:word:]\.\-\+]/
  storage :file

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  def extension_whitelist
    %w(jpg jpeg gif png)
  end
end

照片.rb

class Photo < ApplicationRecord

  mount_uploaders :photos, PhotosUploader

  belongs_to :car
end

汽车.rb

class Car < ApplicationRecord
    extend FriendlyId
    friendly_id :title, use: :slugged

    mount_uploader :photo, PhotoUploader

    has_many :photos
end

【问题讨论】:

    标签: ruby-on-rails activeadmin


    【解决方案1】:

    你的表格怎么样?请检查您是否为多个文件设置了属性:

    <%= form.file_field :photo, multiple: true %>
    

    另外,如果您要上传不同模型的文件,我建议您制作另一个上传器(每个模型的每个属性一个上传器)。 photo 应该是一个属性,而不是一个模型。

    mount_uploader :photo, PhotoUploader
    

    更多信息: github carrierwave

    【讨论】:

      【解决方案2】:
      form do |f|
        f.inputs do
          f.input :car_id
          f.input :photos, as: :file, input_html: { multiple: true }
        actions
      end
      

      我的表单在活动管理文件中

      我有 2 张照片上传器 1 用于头像,第二张用于我的汽车课程的多张照片

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-10-03
        • 2019-04-07
        • 1970-01-01
        • 2016-05-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多