2011-10-23 7 views
0

私のMacBookをアップデートする前に、私はRuby 1.8.7とRails 3.0.9を使いました。Ruby 1.9.2 + valums + rawfileupload = no deal

UPD:実際には問題は異なりました。以下の回答をご覧ください。

私はGemfileと同じRailsを持っていますが、Rubyのバージョンは1.9.2です。いくつか問題があります。だから私はvalums AJAXアップローダーとrawfileuploadを介してファイルをアップロードする機能を失っているということです。それは明らかだが、全てのデータが通過している:

{"photo"=>{ 
    "image"=>#<ActionDispatch::Http::UploadedFile:0x007fd47fe5df20 
    @original_filename="appleberry.jpg", @content_type="image/jpeg", @headers=nil, 
    @tempfile=#<File:blah-blah a real file, i can see it>}, 
    "album_id"=>"6", 
    "authenticity_token"=>"<is ok>=", "qqfile"=>"appleberry.jpg" 
} 

しかし、私は、次のSQLの挿入を取得:それ `sは

をsupersimple、それはコントローラでcan`t

INSERT INTO "photos" (
    "name", "description", 
    "created_at", "updated_at", 
    "album_id", "image_file_name", 
    "image_content_type", "image_file_size", 
    "image_updated_at", "created_by") 
VALUES (NULL, NULL, 
    '2011-10-23 19:08:18.746030', '2011-10-23 19:08:18.746030', 
    6, NULL, 
    NULL, NULL, 
    NULL, NULL) 

をするので私はrvmを使用していますので、厄介な問題だ

@photo = Photo.new(params[:image]) 
@photo.album_id = params[:album_id] 

if @photo.save 
    ... 

は、私は、さえruby 1.8.7にダウングレードしようとしたが、私はまだそれを持っていません。最良の方法が1.8.7を使用している場合は、私はそうしますが、私の方法=を教えてください

ありがとう!

答えて

0

私が見つけたのは間違いでした。レールにはPhoto.new()の宣言が間違っていたので、params[:image]を使用しましたが、それはparams[:photo]だったはずです。そしてそれが私が多くのNULLsをクエリで持っている理由です。

次回は画像を保存しておきます。

関連する問題