Я новичок в Ruby on Rails. Я создаю приложение, которое может хранить фотографии в галерее. Я попытался загрузить фотографию с помощью paperclip и работает успешно. Но теперь я хочу добавить несколько фотографий в одну галерею одновременно с помощью paperclip. Я не понимаю, как это сделать. Может кто-нибудь мне помочь?Множественная загрузка изображений в рельсах
В gemfile я написал "gem" paperclip '".
это мои модели:
#Gallery Model
class Gallery < ActiveRecord::Base
has_many :gallery_photos
validates :name, presence: true
end
#GalleryPhoto Model
class GalleryPhoto < ActiveRecord::Base
belongs_to :gallery
has_attached_file :photo, :styles => { :small => "150x150>" },
:url => "/assets/gallery_photos/:id/:style/:basename.:extension",
:path => ":rails_root/public/assets/gallery_photos/:id/:style/:basename.:extension"
validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/jpg', 'image/png']
end
Это мой контроллер для gallery_photo:
def create
@gallery_photo = GalleryPhoto.new(gallery_photo_params)
respond_to do |format|
if @gallery_photo.save
format.html { redirect_to galleries_galleryhome_path(id: @gallery_photo.gallery_id), notice: 'Gallery photo was successfully created.' }
format.json { render :show, status: :created, location: @gallery_photo }
else
format.html { render :new }
format.json { render json: @gallery_photo.errors, status: :unprocessable_entity }
end
end
end
private
def gallery_photo_params
params.require(:gallery_photo).permit(:gallery_id,:photo)
end
Это мой миграции файла:
class AddAttachmentPhotoToGalleryPhotos < ActiveRecord::Migration
def self.up
change_table :gallery_photos do |t|
t.attachment :photo
end
end
def self.down
remove_attachment :gallery_photos, :photo
end
end
На мой взгляд, я написал следующая линия для прикрепления изображений:
<%= form_for @gallery_photo,html: { multipart: true},url: gallery_photos_path,method: :post do |f| %>
<div>
<%= f.file_field :photo, multiple: true %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Это является полем таблицы галереяфото:
class CreateGalleryPhotos < ActiveRecord::Migration
def change
create_table :gallery_photos do |t|
t.references :gallery, index: true, foreign_key: true
t.timestamps null: false
end
end
end
И Attachment Полей добавляют миграционный файл, который я уже упоминал выше.
Что такое ошибка? – Sukanta
Он не хранит атрибуты изображений. – Vishal
можете ли вы поместить поля таблицы? – Sukanta