как изменить загрузку изображений с одной загрузкой изображения в рельсах - PullRequest
0 голосов
/ 23 декабря 2018

Я хочу загрузить много изображений в портфолио и одно изображение.

Я имею в виду этот самоцвет носителя в github

video_new.html

<%= form_for :video, html: { multipart: true }, url: video_create_path do |f| %>
 <div class="field">
    <%= f.label :locallage %>
    <%= f.file_field :locallage %>

    <%= f.label :content %>
    <%= f.text_area :content %>

    <%= f.label :price %>
    <%= f.text_field :price %>

    <%= f.label :portfolio %><br>
    <%= f.file_field :portfolio, multiple: true %>

    <%= f.submit %>

<% end %>

контроллер

class FreelancersController < ApplicationController
  def index
  end

  def new
  end

  def category
    @category = Category.new(category_new)

    if (@category.category == "영상")
      redirect_to video_new_path
    elsif (@category.category == "디자인")
      redirect_to design_path
    end

  end

  def video
    @videos = Video.all
  end

  def video_new
  end

  def video_create
    @video = Video.new(video_params)
    @video.save

    render "freelancers/video_show"
  end

  def video_show
    @video = Video.find(params[:id])
  end

  def design
  end

  def design_new
  end

  def design_create
  end


  private
    def category_new
      params.require(:category).permit(:category)
    end

    def video_params
      params.require(:video).permit(:content, :price, :locallage, {portfolio: []})
    end

end

video.rb

class Video < ApplicationRecord
  mount_uploader :locallage, LocallageUploader
  mount_uploader :portfolio, PortfolioUploader
  serialize :portfolio, JSON
end

locallage_uploader.rb

class LocallageUploader < CarrierWave::Uploader::Base
  storage :fog

  def store_dir
    "uploads/locallage"
  end
end

portfolio_uploader.rb

class PortfolioUploader < CarrierWave::Uploader::Base
  storage :fog

  def store_dir
    "uploads/locallage"
  end
end

video_show.html

<%= @video.content %>
<%= @video.price %>
<img src="<%= @video.locallage.url %>">

<img src="<%= @video.portfolio.url %>">

Когда я использую locallage_uploader , результат верный, но когда я использую portfolio_uploader , файл не сохраняется должным образом.

Я не получил результатов при использовании portfolio_uploader thisпуть.@ video.portfolio 1 .url или@ video.portfolio [2] .url

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