Я пытаюсь создать dropzone, где пользователи могут сразу удалить несколько файлов. Проблема в том, что он только создает dropzone, когда я перезагружаю веб-страницу, а не когда я открываю ее в первый раз. Я имею в виду, когда я нажимаю, чтобы открыть представление, которое заботится о загрузках, я просто получаю . и загружайте кнопки, которые вы увидите в моем коде, но когда я перезагружаю страницу, я получаю окно dropzone. Я не вижу, чего я здесь не хватает. Код, который я написал, было:Правильный просмотр не отображается - Rails 4
_new.html.erb
<center>
<% @upload = Upload.new %>
<%= form_for @upload , html: { :multipart => true, class: "dropzone"} do |u| %>
<div class="fallback">
<%= u.file_field :file %><br>
<%= u.submit "Upload" %>
</div>
<% end %>
uploads.js.coffee
$(document).ready() ->
Dropzone.autoDiscover = false;
$("#new_upload").dropzone({
maxFilesize: 25,
paramName: "upload[file]",
addRemoveLinks: true
});
uploads_controller.rb
class UploadsController < ApplicationController
def new
@upload = Upload.new
end
def create
@upload = Upload.create(upload_params)
if @upload.save
render json: { message: "success" }, :status => 200
else
render json: { error: @upload.errors.full_messages.join(',')}, :status => 400
end
end
def destroy
@upload = Upload.find(params[:id])
if @upload.destroy
render json: { message: "Archivo eliminado." }
else
render json: { message: @upload.errors.full_messages.join(',') }
end
end
private
def upload_params
user = current_user.id
params.require(:upload).permit(:file,:user)
end
end
Вы также могли заметить, что в _new.html.erb файл Я переопределение переменной @upload
класса, который был уже определен в контроллере. Если я удалю его, то действие не будет работать. В чем проблема?
Пожалуйста, спросите меня, если вы нуждаетесь во мне, чтобы предоставить больше кода или деталей.
Спасибо в продвижении.
Try добавляя '«данных-не-turbolink»: true' на ссылку, которая открывает эту страницу. – Vasseurth
@ Vasseurth, yeap, вот и все. Благодаря! – tulians
@ Vasseurth, хотите добавить это как ответ? Поэтому я могу отметить это как правильный ответ. – tulians