我正在尝试使用 Warbler 生成的 war 文件将 Rails 应用程序部署到 Tomcat。战争文件部署到 /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
尝试设置 relative_url_root 时失败。还有其他 Stack Overflow 文章(正确地)指出 relative_url_root 已被弃用,您应该设置 RAILS_RELATIVE_URL_ROOT 环境变量。
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
- 雄猫 7.0.22
- JRuby 1.6.5
- 导轨 3.0.10