2013-07-17 456 views
2

我已經爲練習「板式」應用程序的圖像白名單創建了參數。通常情況下,pin.rb只會打電話參數錯誤:使用參數時錯誤的參數數量(2代表1)

attr_accessible :image 

但因爲是Rails 4,我需要使用強參數。因此,我把它們放在pins_controller.rb:

def pin_params 
    params.require(:pin).permit(:description, :image) 
end 

但是當我嘗試上傳的圖像(使用回形針),我得到這個錯誤:

ArgumentError in PinsController#create 
wrong number of arguments (2 for 1) 

Extracted source (around line #29): 
27 
28 
29 
30 
31 
32 

    # POST /pins.json 
    def create 
    @pin = current_user.pins.new(pin_params) 

    respond_to do |format| 
     if @pin.save 

Rails.root: /Users/michaeljdionne/Projects/Rails/omrails 

Application Trace | Framework Trace | Full Trace 
app/controllers/pins_controller.rb:29:in `create' 
Request 

Parameters: 

{"utf8"=>"✓", 
"authenticity_token"=>"awnx8EwrnA/ZoFIBe+ClL6wPbJ+sYnmTvwBCmzNmCHM=", 
"pin"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x007fa4ab3796a8 @tempfile=#<File:/var/folders/39/00kqhhp14v9ddj0hrvg9_9bm0000gn/T/RackMultipart20130716-43150-1cflb9r>, 
@original_filename="IMG_0401.jpg", 
@content_type="image/jpeg", 
@headers="Content-Disposition: form-data; name=\"pin[image]\"; filename=\"IMG_0401.jpg\"\r\nContent-Type: image/jpeg\r\n">, 
"description"=>"asd"}, 
"commit"=>"Create Pin"} 

我知道它與我的參數有關,但我對此很陌生,無法使其工作。

回答

5

升級回形針最新版本應該有所幫助:

gem "paperclip", "~> 3.5.1" 
+0

這爲我工作!不會想到升級寶石似乎是一個參數問題。謝謝! – djburdick

相關問題