In einem Rails-Modell möchte ich in der Lage sein, den Host und den Port herauszufinden. Zum Beispiel, wenn ich in einer Testumgebung bin, würde es http://localhost:3000/
zurückgeben, und wenn ich in der Produktion war, würde es so etwas wie http://my.application.com/
zurückgeben?Wie bekomme ich den Host und den Port in einer Rails-Anwendung
Antwort
können Sie die volle uri erhalten (http://localhost:3000/ oder http://my.application.com/ usw.) mit request_uri
http://apidock.com/rails/ActionController/AbstractRequest/request_uri
Seit Rails 3 'request_uri' ist veraltet. Verwenden Sie stattdessen 'Fullpath'. –
Es war vor einem Jahr :) – fl00r
Ich fand es immer noch über Google, also auch andere. :) –
Sie können diese Werte in Ihrem Controller erhalten (request.host , request.port usw.).
Sie müssten dies Ihren Modellen über Parameter mitteilen, da das Anfrageobjekt nur in den Controllern verfügbar ist.
"#{root_url}"
, die in ihrem routes.rb erklärt werden sollte
das ist, was ich gesucht habe. request.host_with_port hat zuerst für mich funktioniert, aber ich brauchte das führende 'HTTP: //'. Dies funktioniert genau wie jeder andere URL/Pfad-Helfer. – Dudo
Ich denke, die Antwort ist viel besser als der Rest .. Keine Anfrage Inspektion, nur einfache Router-Helfer-Methode –
host_with_port
sollte für Sie arbeiten: http://apidock.com/rails/ActionDispatch/Http/URL/host_with_port
Sie können diese verwenden
<%= request.protocol + request.host_with_port %>
#=> https://example.com:3000
<%= request.protocol + request.host %>
#=> https://example.com
- 1. Wie bekomme ich den Host in angular2
- 2. Wie bekomme ich den Port, den Mojolicious :: Lite auswählt?
- 3. Wie stelle ich den Port vom Container zum Host frei?
- 4. Wie setze ich den Port in HTTParty
- 5. Wie bekomme ich den Rückgabewert einer Execv?
- 6. Einfache, unkomplizierte und robuste Möglichkeit, den Host-Port für den Docker-Container verfügbar zu machen?
- 7. Wie bekomme ich den URI einer Absicht
- 8. Wie bekomme ich den Dateinamen einer DLL?
- 9. Wie bekomme ich den Montageort?
- 10. Wie bekomme ich den Längen- und Breitengrad einer Adresse?
- 11. Wie bekomme ich den indexPath einer UIButton in einer UITableViewCell?
- 12. Wie bekomme ich den Unterschied zwischen den Spalten in Sql
- 13. Wie bekomme ich den EJB-Abhörport?
- 14. Wie bekomme ich den Standort?
- 15. Wie bekomme ich den Teilstring
- 16. Wie bekomme ich den Attributsatznamen?
- 17. Wie bekomme ich den Downloadstatus?
- 18. Wie bekomme ich den Druckerstatus?
- 19. JDBC - Wie bekomme ich den Spaltennamen (nicht den ursprünglichen Spaltennamen)
- 20. Wie bekomme ich den Vornamen und den Nachnamen als vollständigen Namen in einer MYSQL-Abfrage?
- 21. Wie bekomme ich den Batteriestatus?
- 22. Wie bekomme ich den Referenztyp?
- 23. Wie bekomme ich Page.ClientScript.RegisterClientScriptInclude in den Kopf?
- 24. Wie bekomme ich den Hostnamen von Crossbar.io?
- 25. Wie bekomme ich den Hashwert in den user.config Pfad?
- 26. Wie bekomme ich den Wert einer gespeicherten Prozedur OUTPUT-Variable
- 27. Wie bekomme ich die reale IP-Adresse und den Port des Clients mit IOCP?
- 28. Wie bekomme ich den Index vom Indexpfad in einer UICollectionView?
- 29. Wie bekomme ich den Wert einer fehlgeschlagenen Anfrage in Dispatch?
- 30. Wie bekomme ich den Code von einer `. DLL 'in C++
Duplikat: http: // Stackoverflow. com/questions/42566/getting-the-hostname-oder-ip-in-ruby-on-rails – ghoppe
möglich duplikat von [Wie finde ich den lokalen Port eine rails-Instanz wird ausgeführt auf?] (http://stackoverflow.com/questions/1554267/how-to-find-the-local-port-a-rails-instance-is-running-on) für den Port, http: // stackoverflow .com/questions/42566/hostname-oder-ip-in-ruby-on-rails für den Host. –