2012-01-12 4 views
1

いくつかのテストでfixture_file_uploadを使用していますが、ファイルはフィクスチャ/ファイルにあります。Rails 3がfixtures/filesフォルダにファイルをロードしようとしています

私は私のテストを実行しようとするたびにしかし、Railsは、彼らが備品であるかのようにそれらのファイルをロードしようとしているように見えると私はこのようなエラーが発生して終わる:私がしてきたことから、

ActiveRecord::StatementInvalid: Mysql::Error: Table 'testapp_test.test_image' doesn't exist: DELETE FROM `test_image` 

以前のバージョンのRailsの経験では、フィクスチャディレクトリのルートにあるymlファイルをロードするだけで、すべてのファイルがロードされるはずです。

+0

あなたが質問を作成して以来、これについて何かを見つけましたか?私は今日これに遭遇した。煩わしい。 – pcg79

答えて

0

名前空間付きの什器のサポートを追加すると、fixture_file_uploadが半壊れました。

https://github.com/rails/rails/commit/8ec085bf1804770a547894967fcdee24087fda87

それが唯一のCSVまたはYMLファイルのための方法で取得しなければならないが、それは多くの助けではありません。ここにコミットします。しかし、fixture_file_uploadはRack :: Test :: UploadedFile.new(ActionController :: TestCase.fixture_path + path、type)のショートカットになっているので、解決策につながります。

'fixtures'の下から 'ファイル'を移動し、Rack :: Test :: UploadedFile.newを呼び出すと直接私のために働きました。

関連する問題