1
我想用Carrierwave上傳一張圖片,就是上傳文件並將其保存到目錄上傳中,在這個文件夾中它會創建另一個名爲tmp的文件夾,並在tmp文件夾中創建另一個文件夾,其中包括圖片。 事情是,它似乎並沒有阻止它上傳和上傳和上傳所有的時間,即使圖像完全上傳到該文件夾,我可以用feh(或任何其他圖像查看器)已經打開此圖像。用sinatra和datamapper和Carrierwave在ruby中上傳圖片?
這是我的控制器的樣子。
get "/new" do
protect!
erb :new
end
post "/new" do
protect!
@user = User.get(session[:user_id])
image = @user.image.new(
:description => params[:description],
:image => params[:image]
)
# image.save
"NEVER REACHED!"
end
(文本 「!從來沒有達到過」 不會在所有的顯示,我不知道爲什麼...)
這是我的模型:
class ImageUploader < CarrierWave::Uploader::Base
def extensions_white_list
%w(jpg jpeg gif png)
end
storage :file
end
class Image
include DataMapper::Resource
property :id, Serial
property :description, Text
property :image, String, :auto_validation => false
mount_uploader :image, ImageUploader
end
class User
include DataMapper::Resource
property :id, Serial
has n, :post
end
所以正如已經提到的那樣,永遠達不到文本「永遠達不到」。任何想法爲什麼?
而且我總是得到警告:
Defining property for an uploader is deprecated at /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
而且我不知道爲什麼...
UPDATE:它以某種方式現在只要我不取消註釋image.save工作在主控制器中,但我其實需要取消註釋,任何想法如何解決此問題?
哇,謝謝,修復了我的大部分問題,只留下一個單一的問題:當我取消註釋在控制器image.save然後「從來沒有達到!」仍然沒有達到...... –
我試圖解決這個問題,但我不得不承認,我可能會愚蠢地解決這個最後的錯誤,任何想法? –
我有錯誤完全相同的問題:Excon :: Errors :: SocketError at/upload getaddrinfo:請求的名稱是有效的,但沒有找到請求類型的數據。 (SocketError) – Phrozen