Подтвердить что ты не робот

Rails 4.2: Внутренняя ошибка сервера с максимальным количеством файлов в контенте

Просто обновлен до Rails 4.2, и я получаю внутреннюю ошибку сервера на локальном хосте и в процессе производства при попытке редактировать модель с несколькими объектами has_many. Это сообщение, которое я вижу на консоли rails s

!! Unexpected error while processing request: Too many open files - Maximum file multiparts in content reached

Запрос даже не попадает на контроллер, то есть я НЕ вижу обычные строки в консоли rails

Started GET "/feeds/3/edit" for 127.0.0.1 at 2015-01-04 20:07:19 -0800
Processing by FeedsController#edit as HTML
......
......

Любые подсказки??? Использование Ruby 2.1.5 до версии 2.2 без ведома.

4b9b3361

Ответ 1

Похоже, что множественный лимит был добавлен в Rails 4.2 версии Rack (https://github.com/rack/rack/commit/b0b5fb9467e6ed777d3eaf35afc81d758e308aab). Значение по умолчанию - 128, что может быть слишком мало для ваших целей, это было для меня. Установка значения в 0 в инициализаторе устраняет предел и устраняет проблему:

Rack::Utils.multipart_part_limit = 0

Я бы предложил настроить значение до тех пор, пока оно не будет соответствовать вашим потребностям, чтобы на вашем сервере не хватало файлов. Мое приложение использует массивную форму, и настройка его на 512, похоже, сработала для меня.

Ответ 3

Похоже, в Rack 1.6 есть ошибка, в которой все элементы ввода HTML считаются открытым файлом в многострочной форме. Как отмечают другие, вы можете изменить предел на 0, чтобы отключить функцию, или уменьшить предел.

https://github.com/rack/rack/pull/814