我正在運行rails 3和paperclip 2.3.4。在OS X上的開發中,每件事物都運行得很好,但生產中存在一些我無法想象的問題。如果有人有任何建議,請讓我知道。在生產中使用回形針插件的錯誤。圖像未保存到服務器
我正在使用FLASH上傳文件。就像我說的,當地的發展很好。
我檢查了生產日誌,它看起來像POST發生得很好。
Started POST "/addimage" for 10.0.136.119 at 2011-01-13 19:49:09 +0000
Processing by BowlsController#create as HTML
Parameters: {"Filename"=>"IMG_0585.JPG", "fbid"=>"123456789", "Filedata"=>#<ActionDispatch::Http::UploadedFile:0x000000054afdf8 @original_filename="IMG_0585.JPG", @content_type="application/octet-stream", @headers="Content-Disposition: form-data; name=\"Filedata\"; filename=\"IMG_0585.JPG\"\r\nContent-Type: application/octet-stream\r\n", @tempfile=#<File:/tmp/RackMultipart20110113-23741-bhze8q>>, "Upload"=>"Submit Query"}
Completed 200 OK in 64ms (Views: 0.4ms | ActiveRecord: 0.9ms)
這裏是軌道,我打電話
def create
@user = User.find_by_fbid(params[:fbid])
if @user.nil?
#create user and register if user does not exist
@user = User.new(:fbid => params[:fbid])
@user.save
end
if params[:Filedata]
@image = @user.images.build()
@image.swfupload_file = params[:Filedata]
if @image.save
render :json => { :data => @image, :success => true }
else
render :json => { :info => "error", :success => false }
end
else
@image = Image.new params[:img]
if @image.save
render :json => { :data => @bowl, :success => true }
else
render :json => { :info => "error", :success => false }
end
end
end
end
基本上是一個用戶可以有很多圖片,所以我必須確保用戶存在的動作。如果它們不存在,我會先創建一個新用戶。
我也有另一種方法,可以讓我抓住用戶上傳的最後一張圖片的路徑,這也會返回生產中的錯誤。
def last_img
@user = User.find_by_fbid(params[:fbid])
if @user.nil?
render :json => { :error => "no bowls for this user" }
else
bowl = @user.images.first
render :json => { :img_path => image.img.url}
end
end
,我得到這個錯誤在ImagesController#last_image以下 NoMethodError
未定義的方法`IMG」的零:NilClass