Контекст не установлен должным образом с warbler и tomcat - PullRequest
1 голос
/ 16 ноября 2011

Я пытаюсь развернуть приложение Rails в Tomcat с помощью файла войны, созданного Warbler. Файл war развертывается в / myproject-rails-gui без проблем, но когда я пытаюсь получить доступ к странице приложения, я получаю:

ArgumentError: wrong number of arguments (1 for 0)
          send at org/jruby/RubyKernel.java:2097
       Railtie at /home/myproject/apache-tomcat-7.0.22/webapps/myproject-rails-gui/WEB-INF/gems/gems/actionpack-3.0.10/lib/action_controller/railtie.rb:54

Сбой при попытке установить относительный_url_root. Существуют и другие статьи о переполнении стека, которые (правильно) указывают на то, что относительный_url_root устарел, и вместо него следует установить переменную среды RAILS_RELATIVE_URL_ROOT.

С Rails-проект на GitHub

module ActionController
  class Base
    # Deprecated methods. Wrap them in a module so they can be overwritten by plugins
    # (like the verify method.)
    module DeprecatedBehavior #:nodoc:
      def relative_url_root
        ActiveSupport::Deprecation.warn "ActionController::Base.relative_url_root is ineffective. " <<
          "Please stop using it.", caller
      end

      def relative_url_root=
        ActiveSupport::Deprecation.warn "ActionController::Base.relative_url_root= is ineffective. " <<
          "Please stop using it.", caller
      end

Мне не повезло понять, как это сделать, используя Warbler и Tomcat. Какие-либо предложения? Что бы это ни стоило, приложение прекрасно работает, когда я запускаю его в корневом контексте.

Мое окружение:

  • Славка 1.3.2
  • Tomcat 7.0.22
  • JRuby 1.6.5
  • Рельсы 3.0.10

1 Ответ

0 голосов
/ 16 ноября 2011

После долгих копаний похоже, что именно это исключение было вызвано отсутствием параметра в ActionController :: DeprecatedBehavior.relative_url_root = в Rails v3.0.10.Мигель, ваша проблема может быть связана, но, если вы видите ее в Rails v3.1.1, то она немного отличается.Файл, который мне пришлось изменить, чтобы исправить его, не существует в v3.1.1.

Я подал выпуск 3645 в проект Rails на Github, исправил его в форке и выпустилтянуть запрос к ним.Надеюсь, это будет исправлено в новой версии Rails 3.0.

А пока, если вы захотите использовать мою фиксированную версию, она доступна по адресу https://github.com/mhuffnagle/rails/tree/3-0-stable.

...