2013-07-17 195 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

相关问题