Я пытаюсь развернуть приложение Rails 3.2 на JBOSS AS 7.1, используя JRuby 1.6.6. Я думаю, что это почти наверняка проблема JBoss.
Приложение отлично работает под Tomcat и WebBrick, но не под JBoss. При развертывании на JBoss параметры, отправленные с использованием составных форм, удаляются до того, как запрос поступит в контроллер. Я подозреваю, что существует некоторая настройка конфигурации JBOSS, необходимая для загрузки больших HTTP-пакетов, но я не могу понять, где и что установить в JBOSS AS 7.1 для этого.
Я не думаю, что проблема в коде контроллера Rails, но самый простой способ увидеть проблему - посмотреть комментарии в этом блоке кода.
def create
f = params[:uploaded_file]
# ** Under JBOSS, there is no :uploaded_file in the params hash!
# ** Without JBOSS, :uploaded_file is passed in, all is good
data = f.read
# ...
end
Шаблон ERB выглядит примерно так:
<%= form_tag xxx_path, :multipart => true do %>
<%= file_field_tag :uploaded_file, :required => true %>
<% end %>
Одна из причин, по которой я подозреваю, что это связано с некоторым ограничением размера, заключается в том, что если я попытаюсь загрузить очень-очень маленькие файлы, это сработает. В этом случае файл успешно передается контроллеру в хэше params.
Любая помощь будет принята с благодарностью.