2013-04-20 8 views
5

私はRails 3.2でs​​trong_parameters gemを使用しています。画像のアップロードプロセスをテストするには、次のパラメータを使用して投稿リクエストを受信して​​います:強力なパラメータを使用してRack :: Test :: UploadedFileを許可する方法はありますか?

{"photo"=>{"image"=>#<Rack::Test::UploadedFile:0x000000069ce1f8 @content_type="image/png", @original_filename="test.png", @tempfile=#<Tempfile:/tmp/test.png20130420-9529-1xuka4v-1>>, "status"=>"approved", "in_use"=>false}, "controller"=>"member/photos", "action"=>"create"} 

割り当てのために画像属性を許可するにはどうすればよいですか?私は試した;

params.require(:photo).permit(:image) 

でも動作しません。Validation failed: Image can't be blankと表示されます。

すべてのパラメータをparams.require(:photo).permit!で許可すると正常に動作します。 http://api.rubyonrails.org/classes/ActionController/Parameters.htmlから

+1

ソリューションを見つけましたか?これにもつきました –

答えて

1

PERMITTED_SCALAR_TYPES = [文字列、シンボル、NilClass、数値、 TrueClass、FalseClassの、日付、時刻、StringIOを、IO、 ActionDispatch ::のHttp ::にUploadedFile、ラック::テスト::にUploadedFile]

だから、あなただけのスカラー型としてそれを許可する必要があります。

params.require(:photo).permit(:image) 

ただテスト済みRails 4.1.1

+0

Rails 4.1.1で修正された問題のようです。 –

+0

それは1年前の '4.0.0'のように修正されました。https://github.com/rails/rails/pull/9357 – freemanoid

+0

最近問題が再調査されたので、修正された時期がわかりません。私がこの問題に直面したとき、Rails 4.0はまだ新しいものだったと思います。 –

関連する問題