レール 4.2.0.beta4 を使用します。
ランナーでスクリプトを実行すると、envRAILS_RELATIVE_URL_ROOT
が無視されるようです。ランナーを使用していないときは、私のウェブサーバーで動作します。しかし、ランナーを使用すると、次のようになります。
RAILS_RELATIVE_URL_ROOT=/somewhere ./bin/rails runner "puts Rails.application.routes.url_helpers.branches_path"
=> /branches # should be /somewhere/branches
env は正しく設定されています。
RAILS_RELATIVE_URL_ROOT=/somewhere ./bin/rails runner "puts ENV['RAILS_RELATIVE_URL_ROOT']"
=> /somewhere
また、運の悪い設定で設定しようとしました:
config.action_controller.relative_url_root = '/somewhere'
config.relative_url_root = '/somewhere'
ランナーがサブディレクトリ / を尊重するようにするにはどうすればよいRAILS_RELATIVE_URL_ROOT
ですか?
私のWebサーバー(ユニコーンbtw)の場合、次のように開始することで機能しますconfig.ru
(これはランナーのafaikでは使用されていません):
run Rack::URLMap.new(
ENV['RAILS_RELATIVE_URL_ROOT'] => Rails.application
)