Wie von elektronaut angegeben, ist dies wahrscheinlich etwas, das in der Proxy-Konfiguration behandelt werden sollte. Das heißt, ActiveSupport :: UrlFor # url_for hat einige Informationen, die nützlich sein könnten. Werfen Sie einen Blick auf http://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/routing/url_for.rb
Was ich denke, es läuft auf zwei Argumente in Ihre URL_for und/oder Link_to Anrufe übergeben. Erstens ist das :port => 123
Argument ist die zweite :only_path => false
, so dass es den vollständigen Link einschließlich Domain, Port erzeugt usw.
Also, wenn Sie einen Link zu erzeugen, könnten Sie tun:
link_to 'test', root_url(:port => 80, :only_path => false)
und wenn eine benutzerdefinierte Erstellung url Sie tun könnte:
url_for :controller => 'test', :action => 'index', :port => 80, :only_path => false
Für eine Umleitung:
redirect_to root_url(:port => 80, :only_path => false)
Ich hoffe, dies hilft, und wenn nicht, können Sie genauer bestimmen, wie Sie Ihre URLs generieren, welche Rails für Sie generieren und was Sie generieren möchten.
Update: war ich nicht bewusst, aber es scheint, dass Sie Standardwerte für die URL der Schienen erzeugt mit url_for gesetzt, die durch alles andere verwendet wird, die Links und/oder URLs erzeugt.Es gibt eine gute aufzuschreiben darüber hier: http://lucastej.blogspot.com/2008/01/ruby-on-rails-how-to-set-urlfor.html
Oder es für Sie zusammenzufassen:
Fügen Sie diese auf Ihre application_controler.rb
def default_url_options(options)
{ :only_path => false, :port => 80 }
end
und diese:
helper_method :url_for
Die Der erste Block setzt die Standardwerte in den Controllern, der zweite bewirkt, dass der Helfer url_for den in den Controllern gefundenen verwendet, so dass auch die Standardeinstellungen darauf angewendet werden.
was läuft auf Port 9000? die Haproxy Deamon oder Nginx, und warum verwenden Sie Haproxy und Nginx? – jigfox
Der haproxy-Daemon befindet sich auf Port 80, und ich habe nginx-Instanzen, die auf verschiedenen Ports laufen. – Garrett