Rails 4 - jQuery文件上传 - SyntaxError:意外的令牌$

时间:2013-08-15 15:29:25

标签: ruby-on-rails jquery-file-upload

我遇到了jQuery文件上传和Rails的问题4.除了一件事之外,一切似乎都在工作!文件已成功上传,数据已成功发布到数据库。但是,我在上传或"创建":

时收到以下错误
 SyntaxError: Unexpected token $

我的猜测:我认为它与想要接收JSON的东西有关,但我不知道如何实现这个或在哪里放置它。任何帮助都会很棒!

这就是我所拥有的:

create.js.erb

<% if @choice.new_record? %>
   alert("Failed to upload image: <%= j @choice.errors.full_messages.join(', ').html_safe      %>");
 <% else %>
  $("#paintings").append("<%= j render(@choice) %>");
 <% end %>

index.html.erb

  <h1>Choices Gallery</h1>

<div id="paintings">
  <%= render @choices %>
</div>
<div class="clear"></div>

<div class="container">
  <h2>Upload file</h2>
  <%= form_for Choice.new, :html => { :multipart => true, :id => "fileupload"  } do |f| %>
<!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
<div class="row fileupload-buttonbar">
  <div class="span7">
    <!-- The fileinput-button span is used to style the file input field as button -->
    <span class="btn btn-success fileinput-button">
      <i class="icon-plus icon-white"></i>
      <span>Add files...</span>
      <%= f.file_field :image, multiple: true, name: "choice[image]" %>
    </span>
    <button type="submit" class="btn btn-primary start">
      <i class="icon-upload icon-white"></i>
      <span>Start upload</span>
    </button>
    <button type="reset" class="btn btn-warning cancel">
      <i class="icon-ban-circle icon-white"></i>
      <span>Cancel upload</span>
    </button>
    <button type="button" class="btn btn-danger delete">
      <i class="icon-trash icon-white"></i>
      <span>Delete</span>
    </button>
    <input type="checkbox" class="toggle">
  </div>
  <div class="span5">
    <!-- The global progress bar -->
    <div class="progress progress-success progress-striped active fade">
      <div class="bar" style="width:0%;"></div>
    </div>
  </div>
</div>
<!-- The loading indicator is shown during image processing -->
<div class="fileupload-loading"></div>
<br>
<!-- The table listing the files available for upload/download -->
<table class="table table-striped"><tbody class="files" data-toggle="modal-gallery" data-target="#modal-gallery"></tbody>
</table>
  

choices_controller.rb

 class ChoicesController < ApplicationController
def index
  @choices = Choice.all
end

def show
  @choice = Choice.find(params[:id])
end

def new
  @choice = Choice.new
end

def create
  @choice = Choice.create(choice_params)
end
end

更新#1 首先,我忘了提到我正在使用CarrierWave。第二,这是控制台回馈的内容:(你可以看到它添加到数据库没有问题。它上传之后似乎出现了错误。)

Started POST "/choices" for 127.0.0.1 at 2013-08-15 15:07:45 -0700
Processing by ChoicesController#create as JSON
Parameters: {"utf8"=>"✓",     "authenticity_token"=>"iKxDDhTAbu/hY/QqEk9jXr9NJltIQmGWu6tUZEMe7pM=", "choice"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x007fe3f2c50818 @tempfile=#<Tempfile:/var/folders/z6/c199lpm13492b758r5xx0ngm0000gn/T/RackMultipart20130815-28015-ngm6w2>, @original_filename="speech_teacher.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"choice[image]\"; filename=\"speech_teacher.jpg\"\r\nContent-Type: image/jpeg\r\n">}}
(0.2ms)  BEGIN
SQL (26.4ms)  INSERT INTO `choices` (`created_at`, `image`, `name`, `updated_at`) VALUES ('2013-08-15 22:07:45', 'speech_teacher.jpg', 'Speech Teacher', '2013-08-15 22:07:45')
(0.4ms)  COMMIT
Redirected to http://localhost:3000/choices
Completed 302 Found in 75ms (ActiveRecord: 27.0ms)


Started GET "/choices" for 127.0.0.1 at 2013-08-15 15:07:45 -0700
Processing by ChoicesController#index as JSON
Choice Load (1.7ms)  SELECT `choices`.* FROM `choices`
Rendered choices/_choice.html.erb (2.5ms)
Rendered choices/index.html.erb within layouts/application (13.0ms)
Completed 200 OK in 109ms (Views: 106.2ms | ActiveRecord: 1.7ms)

0 个答案:

没有答案