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