0

レール 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
)
4

1 に答える 1

0

これは Rails の既知のバグであり、すぐに修正されることを願っています: https://github.com/rails/rails/pull/17724

于 2014-12-23T11:11:15.110 に答える