4

私は AngularJS と jQuery-file-uploader プラグインを使用しています。パラメータをラップするようにレールを設定しました

ActiveSupport.on_load(:action_controller) do
    wrap_parameters format: [:json]
end

これは、ファイルをアップロードしようとする場合を除いて、すべて正常に機能しています。アップローダ プラグインを通常とは少し異なる方法で使用していますが、それでも動作するはずです。ファイルが追加されたときにプラグインにファイルをアップロードさせるのではなく、新しいレコードを作成してからファイルをアップロードします。リクエストは正しく実行されていますが、ファイルのパラメーターがレールによってラップされている/ラップされていません。私のログで私は得ています

Processing by MeetingsController#update as JSON
Parameters: {"icon"=>#<ActionDispatch::Http::UploadedFile:0x007fde79178b58 @original_filename="006.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"icon\"; filename=\"006.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<File:/var/folders/_v/qsm9g7nn00s0jmfkynmvwp140000gn/T/RackMultipart20130505-15753-17ig2it>>, "id"=>"35"}

パラメータが

{ :meeting => { :icon => ... }}

私のMeetingsController中で私は持っています

wrap_parameters :meeting, include: [..., :icon, ...]

このコントローラーも通過するレコード作成は完璧に機能し、パラメーターは期待どおりにラップされていますが、これでは機能しません。私は何か間違ったことをしていますか?

4

1 に答える 1