2012-11-20 53 views
0

我正在使用jQuery fileupload插件上傳多張圖片。檢查發送到服務器的數據,它是:使用jQuery fileupload插件時TypeError(無法將Symbol轉換爲Integer)

class Item < ActiveRecord::Base 
    attr_accessible :photo, :photo_url, :poll_id, :brand, :number_of_votes,:description, :is_deleted 
    has_attached_file :photo, 
        :styles => { :thumbnail => "100x100#", 
            :small => "150x150>", 
            :medium => "250x250>", 
            :large => "400x400>" }, 
        :storage => :s3, 
        :s3_credentials => S3_CREDENTIALS, 
        :url=>"/item_:id/created_at_:created_at/:style.jpg" 
    belongs_to :poll 
end 

class Poll < ActiveRecord::Base 
    attr_accessible :title, :user_id, :category, :items_attributes 
    belongs_to :user 
    has_many :items, :dependent => :destroy 
    accepts_nested_attributes_for :items 
    default_scope :order => 'polls.created_at DESC' 
end 

,投票表決控制器:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"pE6KRzQv05wwcutCRN0UlZ3Cy39cNAtEYCMbkoVtwBQ=", "poll"=>{"title"=>"fjijgg", "category"=>"1", "items_attributes"=>{"brand"=>"item 3", "photo"=>[#<ActionDispatch::Http::UploadedFile:0x007fe609c377a0 @original_filename="Photo Nov 20, 1 19 44 AM.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"poll[items_attributes[photo]][]\"; filename=\"Photo Nov 20, 1 19 44 AM.jpg\"\r\nContent-Type: image/jpeg\r\n", @tempfile=#<File:/var/folders/3s/xggrbr6119v_mtcqn9r0b6tr0000gn/T/RackMultipart20121120-1465-d21tys>>]}}} 

設置爲投票和項目模型

class PollsController < ApplicationController 
    def create 
    @poll=Poll.create(params[:poll]) 
    redirect_to @poll 
    end 
end 

我得到了錯誤:

TypeError (can't convert Symbol into Integer): 

我以爲它w由「items_attributes」=> {...}引起的任何關於如何修復它的建議?

感謝

回答

3

我想通了,因爲它是一個一對多關聯,即民意調查有很多的項目,它應該看起來像「items_attributes」 => [{...}],而不是「items_attributes」 => {..}

相關問題