2009-07-12 8 views
0

写真をアップロードするときに、ログファイルに一貫性のないロールバックがあります。私は3回目から12回目の試行の後、システムがそれを受け入れるまで何度も同じ画像を繰り返し選択しました。@ photo.validを使用しない場合のロールバックの説明? Ruby on Rails

photo.validを追加した後に停止しましたか? photo.saveの前に。いただきました!間違ってここに私のコードを持つので

@album = @listing.album 
@p1 = params[:p1]  
if @p1[:uploaded_data] != "" 
    @photo = @album.photos.build(params[:p1]) 
    @photo.valid?   
    if @photo.save 
     @album.photos << @photo              
    end 
end 

私のコードを使用すると、コントローラのコードを見ることができるの下に、attachment_fuを使用していますか?なぜ私は有効なのでしょうか?有効なし ログファイル:

は、事前に

マイケル

編集ありがとうございますか!ロールバックを与える:

[4;35;1mAlbum Load (0.0ms)[0m [0mSELECT * FROM `albums` WHERE (`albums`.listing_id = 68) LIMIT 1[0m 
[4;36;1mAlbum Columns (0.0ms)[0m [0;1mSHOW FIELDS FROM `albums`[0m 
[4;35;1mPhoto Columns (0.0ms)[0m [0mSHOW FIELDS FROM `photos`[0m 
[4;36;1mSQL (0.0ms)[0m [0;1mBEGIN[0m 
[4;35;1mSQL (0.0ms)[0m [0mROLLBACK[0m 
User did not upload a picture. 
Rendering template within layouts/application 
Rendering listings/images 

編集: これはOmars先端用いて解くことができる:

logger.error @photo.errors.inspect 

を私が取得@errors = { "サイズ" => "リストに含まれていません"]これは問題の原因です。

+0

、コード賢明なあなたは@ P1が置き換えることができますへ= "" と@ P1 [:uploaded_data] .blank? –

+0

はい、ありがとうございます。私はそれを変更した、空白を使用していない?今まで。 –

答えて

0

変更

if @photo.save 
    @album.photos << @photo              
else 
    logger.error @photo.errors.inspect 
end 
+0

答えは何ですか? –

+0

ああ、申し訳ありません、無視して、質問を再読みします。 –

0

ログファイルを表示できますか? AFAIK .saveはモデルを... 2回検証します。 [:uploaded_data]!

関連する問題