@IvanN777

Как file_field_tag сохранить потом в carrierwave?

Вот моя форма, идея заключалась в том чтобы загрузить сразу несколько файлов в одной форме, прогнать по циклу и создать несколько картинок для галереи.
Я храню картинки в carrierwave, но как из обычного файлового поля передать результат в
него. Параметр выдает только названия файла. По идее по нему я должен загрузить его из временного хранилища tmp. Но как это сделать не знаю.
Как из поля file_field_tag значение файла передать в @обьект.avatar. Или как можно организовать еще загрузку сразу нескольких файлов?
<%= bootstrap_form_for @gallery, :enctype =>"multipart/form-data" do |f| %>
        <div class="row">
          <div class="col-md-offset-4 col-md-4 col-xs-12">
            <%= f.hidden_field :tour_id %>
            <%= f.hidden_field :category_id %>
            <%= f.hidden_field :type %>
            <%= file_field_tag 'image_gallery1', :multiple => true%>
           <%= file_field_tag 'image_gallery2', :multiple => true%>
            <%= file_field_tag 'image_gallery2', :multiple => true%>


            <%= f.primary "Сохранить", class: "btn btn-primary" %>
          </div>
        </div>
    <% end %>
  • Вопрос задан
  • 778 просмотров
Пригласить эксперта
Ответы на вопрос 1
MAXOPKA
@MAXOPKA
Должна быть ActiveRecord модель для файлов галереи. Например:
# Галерея
class Galery < ActiveRecord::Base
  has_many :photos
  accepts_nested_attributes_for :photos
end
#фотография
class Photo < ActiveRecord::Base
  belongs_to :galery
  # монтирование загрузчика :file -имя поля модели, где будет храниться имя файла
  mount_uploader :file, FileUploader
end
# загрузчик
class FileUploader < CarrierWave::Uploader::Base
  storage :file
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
end

HTML
<%= form_for @galery do |galery_form| %>
  <!-- такие то поля для галереи --->
  <%= galery_form.fields_for :photos, @photos do |photo_fields| %>
    Изображение: <%= photo_fields.file_field :file %>
  <% end %>
<% end %>

@photos - коллекция созданных моделей в экшене new
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы