45

私のアプリには、api ドメインの下にいくつかの API があります。APIの1つで、メインドメインを指すURLを生成したいと思います。

test.com/blabla...

url_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 です。

何か案は?ありがとう。

4

4 に答える 4

16

最も簡単な代替方法:

クラスに含めます

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

ヘルパーはビューでのみアクセスできますが、これは機能するソリューションです。

于 2015-09-21T08:24:02.673 に答える
0

ベース URL ではなくドメイン URL を指定すると、CF で request.domain が失敗する

于 2014-09-23T13:03:20.963 に答える