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ヘルパーを取得する方法を知っている人はいますか?
質問する
437 次
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_options
application_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 に答える