Ich fragte mich, warum jemand helper_method in einem Controller verwenden sollte, um eine Hilfsmethode zu erstellen, anstatt den "normalen" Weg zu erstellen, der sich in der Hilfsdatei befindet. Was für die Vor- und Nachteile?Controller helper_method
Antwort
helper_method
ist nützlich, wenn die Funktionalität zwischen dem Controller und der Ansicht verwendet wird. Ein gutes Beispiel ist etwas wie current_user
.
Wenn die Methode mehr mit der Steuerungslogik und nicht mit der Formatierung arbeitet, gehört sie in den Controller. So etwas wie current_user
würde zwischen allen Controllern geteilt werden, so dass es in der definiert werden sollte.
Wahre "Helfer" -Methoden befassen sich mit der Ansicht und behandeln Dinge wie Formatierung und Vorlagenlogik. Diese werden im Controller selten benötigt und gehören in ein eigenes Modul unter app/helpers. Sie können diese bei Bedarf in Ihren Controller einbinden, aber Sie erhalten schließlich die gesamte Palette an View-Hilfsmethoden, die Ihrem Controller zur Verfügung stehen.
Methoden zwischen Controller zu teilen und sehen Sie haben mehrere Möglichkeiten:
- Verwendung view_context http://apidock.com/rails/AbstractController/Rendering/view_context
- es in der Steuerung definieren und im Hinblick auf durch die helper_method Klassenmethode http://apidock.com/rails/ActionController/Helpers/ClassMethods/helper_method
- definiert Verfügung stellen in ein gemeinsames Modul und enthalten/erweitern
- 1. Wann sollte ich before_filter vs helper_method verwenden?
- 2. Rails4: Methods durch mehrere Controller geteilt
- 3. „nicht definierte Methode“, wenn Hilfsmethode von Controller in Rails Aufruf
- 4. Wie schreibe ich rspec Tests für Controller, die Authentifizierung annehmen
- 5. Navigation Controller Push-View-Controller-
- 6. Wie Controller Controller-Anweisung testen?
- 7. extend controller in zend Controller
- 8. TypeError: $ Controller ist keine Funktion + Controller im Controller
- 9. Ein Controller-Rendering mit anderen Controller-Ansichten
- 10. View Controller Frame-Größe in Kind-Controller
- 11. Controller-Eigenschaft von einem anderen Controller ändern
- 12. Angular Controller Aufruf von verschiedenen Modul-Controller
- 13. machen Bildansicht Vollbildansicht Controller/Seitenansicht Controller (Swift)
- 14. Storyboard Navigations-Controller und Tab-Leiste Controller
- 15. Controller-Aktion von einem anderen Controller Render
- 16. storyboard navigation controller ohne tableview controller
- 17. iOS-Statusleiste - View Controller zu Navigation Controller
- 18. AngularJS Controller nicht finden C# Controller
- 19. WEB-API-Controller Vs MVC-Controller
- 20. Initial View Controller und Tab View Controller
- 21. angularjs: Controller Hijacking eine andere Controller-Variable
- 22. Referenz-Master-Controller vom Detail-Controller
- 23. Pushing View Controller vom Kind View Controller
- 24. Laravel Controller Struktur und Anzahl der Controller-
- 25. AngularJs Controller
- 26. Schaltschienen Controller
- 27. Rails Controller und Abonnements für die Funktionen der Website
- 28. Controller # Index Setzen Sie sich mit mit passieren verbindet rspec
- 29. Laravel 5 make: Controller erstellt Controller im App-Ordner anstelle des Controller-Ordners
- 30. Split-View-Controller muss Root-View-Controller sein