#ruby-on-rails #ruby #paperclip #multi-upload
#ruby-on-rails #ruby #скрепка #многократная загрузка
Вопрос:
Я следую этому руководству здесь, чтобы использовать многократную загрузку с помощью скрепки. Однако, когда я добавляю файлы, я получаю флэш-уведомление, подтверждающее, что галерея была добавлена успешно, но загруженных изображений нет. Я уверен, что это реализация в моем контроллере.
gallery_controller.rb
def update
@gallery = Gallery.friendly.find params[:id]
respond_to do |format|
if @gallery.save
if params[:exhibition_images_attributes]
params[:exhibition_images_attributes].each { |image|
@gallery.exhibition_images.create(image: image)
}
end
format.html { redirect_to @gallery, notice: 'Gallery was successfully updated.' }
format.json { render :show, status: :ok, location: @gallery }
else
format.html { render :edit }
format.json { render json: @gallery.errors, status: :unprocessable_entity }
end
end
end
def edit
@gallery = Gallery.friendly.find params[:id]
@image = @gallery.exhibition_images.new
end
private
def gallery_params
params.require(:gallery).permit(:title, exhibition_images_attributes: [:image])
end
форма загрузки
<%= bootstrap_form_for(@gallery, :html => {:multipart => true}, layout: :horizontal, label_col: "col-sm-2", control_col: "col-sm-10") do |f| %>
<%= f.text_field :title %>
<%= f.fields_for :exhibition_images do |f| %>
<%= f.file_field "image[]", type: :file, multiple: true %>
<% end %>
<%= f.submit "Create/Update", class: "btn btn-primary" %>
<% end %>
gallery.rb
class Gallery < ActiveRecord::Base
extend FriendlyId
friendly_id :title, use: :slugged
belongs_to :guide
has_many :exhibition_images, :autosave => true
accepts_nested_attributes_for :exhibition_images
end
exhibition_image.rb
class ExhibitionImage < ActiveRecord::Base
belongs_to :gallery, :autosave => true
has_attached_file :image, styles: { small: "100x100", guide: "500x500" }
validates_attachment_content_type :image, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]
end
Комментарии:
1. можете ли вы включить свое
params
действие, которое поразилоupdate
, в вопрос2. @bjhaid добавил параметры, спасибо
3. Я имел в виду
params
из ваших журналов