私のアプリには、APIドメインの下にいくつかのAPIがあります。次に、APIの1つで、メインドメインを指すURLを生成します。
test.com/blabla...
rl_forを使用しようとしましたが、デフォルトのroot_urlまたはrequest.Hostはapiドメインにあるようです。 Url_forは、
api.test.com/blabla..
私はそれがしたい
test.com/blabla...
Url_forはパラメーターを取ることができます
Host: ...
test.com/に設定するには、ホストのルート/ベースURL(test.com)を取得するにはどうすればよいですか? root_urlまたはrequest.Hostはすべてapi.test.comです。
何か案は?ありがとう。
this によると、request.domain
他の誰かに役立つように、今日私はこれに出会いました
request.base_url
ローカルでもライブでも完全なパスを与えます。
request.domain
ドメイン名のみを指定するため、リダイレクト中にリンクが破損することがあります
最も簡単な代替方法:
あなたがクラスに含める
include Rails.application.routes.url_helpers
関数を作成するか、root_url
を使用してアプリのルート/ベースURLを取得します。
def add_Host_prefix(url)
URI.join(root_url, url).to_s
end
最後に:追加
Rails.application.routes.default_url_options[:Host] = 'localhost:3000'
に:
Your_project_root_deir/config/environments/development.rb
ヘルパーはビューでのみアクセス可能ですが、これは実用的なソリューションです。