1

Rails 3.2アプリケーションにjs.erbファイルがあり、URLヘルパーを使用してjquery$.ajax呼び出しのurlフィールドに入力します。ローカルマシンでpath_to_method_url/pathを使用して、localhost:3000 / path_to_methodを正しく指している場合は、正常に機能します。sub uriのあるステージング環境に配置すると、example-staging.com / sub-uri/path_to_methodではなくexample-staging.com/path_to_methodを指します。sub-uriを尊重するためにアセットのURLヘルパーを取得する方法を知っている人はいますか?

4

2 に答える 2

0

私は同じ問題を抱えていましたが、js.erbファイルの url ヘルパーを から<action>_pathに変更してから、 <action>_url次のように各環境構成にデフォルトのホスト (サブ uri を含む) を追加することで解決しました。

config/environments/development.rb

Rails.application.routes.default_url_options[:host] = 'localhost:3000'

config/environments/staging.rb

Rails.application.routes.default_url_options[:host] = 'example-staging.com/sub-uri'
于 2012-10-12T03:20:02.900 に答える
0

default_url_optionsapplication_controller.rb でオーバーライドしてみてください

def default_url_options(options = {})
  {:suburi => get_sub_uri}
end

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-url_options

http://rails.rubyonrails.org/classes/ActionController/Base.html#M000467

于 2012-10-04T22:48:42.873 に答える