In meiner Rails App sehe ich eine Menge .to_hash.
Was genau ist das?Was ist ein `to_hash` in einer Rails App?
Antwort
Wenn eine Methode über Schlüsselwortargumente verfügt, bietet Ruby eine implizite Konvertierung eines Hash-Arguments in Schlüsselwortargumente. Diese Konvertierung wird ausgeführt, indem to_hash
für das letzte Argument dieser Methode aufgerufen wird, bevor optionale Argumente zugewiesen werden. Wenn to_hash
eine Instanz von Hash zurückgibt, wird der Hash als Schlüsselwortargumente für diese Methode verwendet.
Implementieren Sie niemals implizite Konvertierungsmethoden, wenn Sie nicht genau wissen, was Sie tun! Es ist weit verbreitet, zum Beispiel die #to_hash
Methode zu implementieren (vielleicht wegen "schöneren Namen" als #to_h?
) und verursacht seltsamste Effekte.
Normalerweise definieren Sie to_hash nicht, wenn Sie es für die explizite Konvertierung in einen Hash benötigen. Definieren Sie stattdessen to_h.
Siehe Here
- 1. Was ist die ENV in einer App?
- 2. Was ist `delegate` in einer Rails-Objektdatei?
- 3. Was ist ein Arbeiter in Ruby/Rails?
- 4. Was ist ein Makro in Rails?
- 5. Was ist ein ORM in einer Webanwendung?
- 6. In Ruby/Rails, was ist "Rails"?
- 7. Was ist in Rails "sanitize"?
- 8. Wo wird ein Socket in einer Rails-App platziert?
- 9. Was ist ein Cognito App Client Secret
- 10. Was ist der beste Weg, um Rollen/Berechtigungen für Benutzer in einer Rails-App zu implementieren?
- 11. Was ist eine "Ressource" in Rails?
- 12. Was ist mattr_accessor in einem Rails-Modul?
- 13. Was ist der beste Weg, um ein Modell zu einer App in der Produktion hinzuzufügen
- 14. Mehrere Inkarnationen einer Rails App
- 15. Löschen alter Migrationsdateien in einer Rails App
- 16. Wie reconnnise Routen in einer Rails App
- 17. Was ist link_to t() in Rails 3?
- 18. Verschieben einer Rails 3 App
- 19. Was ist ein gutes Ruby on Rails und PHP-Hosting?
- 20. NoMethodError in Ansichten einer Rails App
- 21. Was bedeutet `require:` in einer Rails-Datei?
- 22. Was ist in meinem Rails-Setup defekt?
- 23. RestClient in einer Rails-App protokollieren
- 24. Starten einer App in Heroku? Was ist procfile? 'web:' Befehl?
- 25. Wie richte ich Rails Apps als Rack Apps in einer anderen Rails App ein?
- 26. Was ist Ruby on Rails?
- 27. Was ist Klassenname :: schaffen in Rails
- 28. "Tab-Reihenfolge" in einer Rails App
- 29. Berechnungslogik In Rails App
- 30. Was ist ein Bitmuster?