Ruby on rails 4 未渲染正确的视图-Rails 4
我正在尝试创建一个dropzone,用户可以一次删除多个文件。问题是,它只在我重新加载网页时呈现dropzone,而不是在我第一次打开它时。我的意思是,当我点击打开负责上传的视图时,我只会看到浏览和上传按钮,你会在我的代码中看到这些按钮,但是当我重新加载页面时,我会看到dropzone框。我看不出我在这里遗漏了什么。我写的代码是: \u new.html.erbRuby on rails 4 未渲染正确的视图-Rails 4,ruby-on-rails-4,file-upload,view,Ruby On Rails 4,File Upload,View,我正在尝试创建一个dropzone,用户可以一次删除多个文件。问题是,它只在我重新加载网页时呈现dropzone,而不是在我第一次打开它时。我的意思是,当我点击打开负责上传的视图时,我只会看到浏览和上传按钮,你会在我的代码中看到这些按钮,但是当我重新加载页面时,我会看到dropzone框。我看不出我在这里遗漏了什么。我写的代码是: \u new.html.erb <center> <% @upload = Upload.new %> <%= form_for @up
<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 %>
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
上传\u controller.rb
<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 %>
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
class UploadsController200
其他的
呈现json:{error:@upload.errors.full_messages.join(',')},:status=>400
结束
结束
def销毁
@upload=upload.find(参数[:id])
如果@upload.destroy
呈现json:{message:“Archivo eliminado.”
其他的
呈现json:{message:@upload.errors.full_messages.join(',')}
结束
结束
私有的
def上传参数
用户=当前用户id
参数require(:upload).permit(:file,:user)
结束
结束
您还可以注意到,在\u new.html.erb文件中,我正在重新定义已在控制器中定义的@upload
类变量。如果我删除它,新建操作将不起作用。有什么问题吗
如果您需要我提供更多代码或详细信息,请询问我
感谢您的高级支持。您应该在打开该页面的链接中添加
'data-no-turbolink':true
。TurboLink并不总是很好地使用$(文档)。就绪
,因此这将调用没有TurboLink的链接
还有一个名为gem的程序,可能会使当前版本在没有
数据无涡轮链接的情况下工作您应该在打开该页面的链接中添加'data-no-turbolink':true
。TurboLink并不总是很好地使用$(文档)。就绪
,因此这将调用没有TurboLink的链接
还有一个名为gem的程序,它可以使当前版本在没有数据无涡轮链接的情况下工作尝试将'data-no-turbolink':true
添加到打开该页面的链接中。@Vasseurth,yeap,就是这样。谢谢@Vasseurth,想加上它作为答复吗?因此,我可以将其标记为正确答案。尝试向打开该页面的链接添加'data-no-turbolink':true
。@Vasseurth,yeap,就是这样。谢谢@Vasseurth,想加上它作为答复吗?所以我可以把它标记为正确答案。