Mam metodę klasy w moim modelu i muszę uzyskać dostęp do metody z jednego z moich pomocników widoku. Obecnie włączam include TalkHelper
, ale nadal otrzymuję NoMethodError.Szyny 3 Zobacz metodę pomocnika w Modelu
Odpowiedz
Możesz umieścić pomocnika w swoim folderze lib i uwzględnić go w dowolnym miejscu. Jak to: lib/some_helper.rb
module SomeHelper
def somedef
#your code there
end
end
Jeśli potrzebujesz pomocnika w metodzie klasy trzeba by extend
go nie include
go.
module TalkHelper
def woo; 'hoo' end
end
class MyClass
extend TalkHelper
def self.boo; woo end
end
MyClass.boo #=> 'hoo'
Wystarczy być ostrożnym z pomocników poza kontekstem widzenia, jako pomocnicy mogą zależeć controller
, lub coś innego z kontekstu wniosku, który nie będzie dostępny w modelu.
W modelu, można zrobić coś jak poniżej:
ApplicationController.helpers.your_helper_method
LUB
YourController.helpers.your_helper_method
The najlepszym rozwiązaniem byłaby ma swój kod, tak aby nie trzeba w ogóle wywoływać kod pomocnika widoku z modeli. To nie jest sposób RoR. Jak zauważają inni, można wyodrębnić kod pomocnika do folderu lib.
Zobacz to o więcej informacji:
Skończyło się na tym, że podjąłem waszą radę i dokonałem refrakcji mojego kodu, tak że nie musiałem używać metody pomocniczej w modelu. – LanguagesNamedAfterCofee
- 1. Zobacz pomocnika link_to w klasie modelu
- 2. Jak wywołać metodę modelu szyny 3 w konsoli
- 3. Jak uzyskać dostęp do pomocnika route_path w modelu Rails 3?
- 4. Szyny 3: Różne widoki dla każdego modelu
- 5. Szyny, wybierz pomocnika, dodając stylu.
- 6. Rspec zobacz niezdefiniowaną metodę stub_model
- 7. Szyny 3: Użycie lambda z zakresami w modelu
- 8. Jak wywołać metodę pomocnika Railsów z poziomu innej metody pomocnika?
- 9. Szyny 3 - Czy mogę ustawić datę rozpoczęcia na metodę date_select?
- 10. Stwórz prostego pomocnika tekstowego Rails 3 Gem
- 11. Szyny 3: Wyłącz ciasteczka sesyjne
- 12. Szyny 3 wykonaj niestandardowe zapytanie sql bez modelu
- 13. szyny 3 trasy: inna trasa automatyczna dla modelu
- 14. Szyny - Jak dodać format do pomocnika url?
- 15. Szyny 3 ładowanie wszystkich modeli przy uruchomieniu
- 16. Szyny - Dodaj atrybuty nie w modelu i atrybut modelu aktualizacji
- 17. Joomla: wywołanie funkcji pomocnika z poziomu modelu?
- 18. Włączenie YUI 3 w szyny
- 19. Szyny 3 - Obcięcie w kontrolerze?
- 20. Szyny: jak zastąpić: zniszczyć metodę?
- 21. Usuń szyny modelu po migracji
- 22. backbone.js Zobacz, który atrybut modelu się zmienia
- 23. Szyny 3 - zestaw środowiska
- 24. Szyny 3 i validate_on_create
- 25. Szyny 3 typy danych?
- 26. Szyny 3 błędy yaml
- 27. Szyny 3 blokada stołu
- 28. szyny 3 nie nil
- 29. Wywołanie metody pomocnika z kontrolera Rails 3
- 30. Jak wywołać metodę pomocnika aplikacji z testu RSpec w Railsach?
powinno być 'module' (małe litery)? –
pewnie. naprawiony! (15 znaków) – railscard