Warbler希望您在创建WAR时指定RAILS_ENV。然后将其放入生成的WAR的web.xml中。
但是,如果您可以创建从环境中学习其RAILS_ENV的wAR,则可以创建一个可用于登台或生产的WAR - 换言之,可以测试WAR然后部署的高级管理机制没有改变。
答案 0 :(得分:3)
JRuby-Rack已经设置为在放入web.xml之前从RAILS_ENV读取,因此该部分是黄金的。您唯一需要打败的是这个rails.erb
模板,它会合并到war文件中的META-INF/init.rb
中:
ENV['RAILS_ENV'] = '<%= config.webxml.rails.env %>'
目前还没有真正好方法可以做到这一点,但您可以在Warbler::Jar#add_init_file
顶部覆盖config/warble.rb
,如下所示:删除Rails模板:
class Warbler::Jar
alias_method :orig_add_init_file, :add_init_file
def add_init_file(config)
config.init_contents.delete("#{config.warbler_templates}/rails.erb") if config.init_contents
orig_add_init_file(config)
end
end