javascript - Dropzone.js 与 Rails 4 : "Template is missing" error

标签 javascript ruby-on-rails dropzone.js

我正在尝试将 Dropzone.js 与 Rails 4 一起使用,虽然我可以显示实际的 Dropzone“区域”,但当我尝试上传图像时,会出现以下内容

Template is missing Missing template projects/show, application/show with {:locale=>[:en],           :formats=>[:json], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}

但是,我很确定我有模板,因为在没有 Dropzone 的情况下上传的图像可以正常上传并显示

我的代码如下:

项目图像 Controller :

class ProjectImagesController < ApplicationController

    def create 
        @project = Project.find(params[:project_id])
        @project_image = @project.project_images.create(project_image_params)
        redirect_to project_path(@project)
    end

    private

    def project_image_params
        params.require(:project_image).permit(:caption, :image)
    end
end

项目/show.html.erb

<% if @project.project_images.any? %>
<% @project.project_images.each do |project_image|%>
<ul>
    <li><%= image_tag project_image.image.url(:thumb) %></li>
    <li><%= project_image.caption %></li>
</ul>
<% end %>
<% end %>

<%= simple_form_for [@project, @project_image], :html => {:multipart => true, class: :dropzone} do |f| %>
<div>
<%= f.input :caption, label: 'Enter your project image caption' %>
<%= f.file_field :image %>
<%= f.submit 'Create project image'%>
</div>

感谢您提前提供的帮助。

最佳答案

dropzone 以 JSON 格式发送请求,但您尝试呈现 HTML,因此您必须更改 Controller :

来自

def create 
  @project = Project.find(params[:project_id])
  @project_image = @project.project_images.create(project_image_params)
  redirect_to project_path(@project)
end

def create 
  @project = Project.find(params[:project_id])
  @project_image = @project.project_images.create(project_image_params)

  render nothing: true
end

或其他 JSON 格式的内容

希望我能帮助别人......

关于javascript - Dropzone.js 与 Rails 4 : "Template is missing" error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26997664/

相关文章:

Javascript在不进入的情况下找到数组中最接近的数字

ruby-on-rails - 有没有办法让 ruby​​ on rails 应用程序像 Wordpress 一样支持基于 Web 的升级?

jquery - Dropzone.js 使用 jQuery 可排序对队列进行拖放重新排序

ruby-on-rails - RubyMine 显示错误消息 : "Error running Development: MyProject: Rails 3.x launcher script was found instead of Rails 4.x one"

ruby-on-rails - 为什么在私有(private)部分中声明委托(delegate)方法时是公开的?

javascript - jQuery 添加 URL 参数

javascript - 如何在不运行服务器的情况下运行 dropzone.js 原型(prototype)?

javascript - 无需双 com 将第一个数组的元素复制到第二个数组

javascript - JQuery promise : fail() called without waiting for promise to resolve

javascript - 如何在 Cypress 快照测试中处理时区?