Добрый день.
Пытаюсь реализовать drag and drop
с помощью dropzonejs-rails + Paperclip
.
Суть в том что есть таблица attachments
у которое есть обязательное поле doc_type
и если оно не указано, то не пройдет валидация.
doc_type
это тип документа, к примеру накладная
, счет
и т.д.
Я хочу сделать следующее
1. Перетаскиваю в форму для drag and drop
несколько файлов
2. Проставляю каждому файлу doc_type
3. Жму кнопку Create
пока получилось сделать только первый пункт, перетаскиваю файлы они автоматом начинают загружаться на сервер и естественно не проходят валидацию, так как doc_type
пустой
подскажите пожалуйста, как можно реализовать остальные два пункта? заранее благодарю.
JS
$(document).on 'ready', ->
Dropzone.autoDiscover = false;
$("#new_attachment").dropzone(
maxFilesize: 15
addRemoveLinks: true
paramName: "attachment[doc]"
success: (file, response) ->
response = JSON.parse(file.xhr.response)
showDocTemplate = HandlebarsTemplates['show_doc_links'](attachments: [response.attachment])
$('.show-doc__message').replaceWith('<div class="show-doc__link-group"></div>')
$('.show-doc__link-group').append(showDocTemplate)
)
VIEW
= form_for [@shipment, Attachment.new], html: { multipart: true, class: 'dropzone' } do |f|
.fallback
= f.file_field :doc
CONTROLLER
class AttachmentsController < ApplicationController
before_action :set_attachment, only: :create
load_and_authorize_resource
respond_to :js, except: :create
respond_to :json, only: :create
def show
send_file @attachment.doc.path, disposition: 'inline'
end
def create
@attachment.save
respond_with @attachment
end
def destroy
respond_with @attachment.destroy, location: location
end
private
def location
if @attachment.attachable.is_a?(Flight)
admin_flights_url(@attachment.attachable)
else
@attachment.attachable
end
end
def attachment_params
params.require(:attachment).permit(:doc, :doc_type)
end
def set_attachment
attachable_id = params.keys.detect { |k| k =~ /(shipment|flight)_id/ }
attachable = $1.classify.constantize.find(params[attachable_id])
@attachment = attachable.attachments.build(attachment_params)
end
end
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый день, мне приходят данные в string формате: '11:43' и '13:14' Помогите правильно написать скрипт что-бы высчитывал разницу между этими двумя...
Добрый деньУ меня почему-то в Safari при использовании slideToggle() не отодвигается нижний контент, а этот блок разворачивает под ни м