Mam kilka klas, które są używane tylko przez zadanie rake. Zdaję sobie sprawę, że zadania rake normalnie live @ lib/tasks/whatever.rake, ale gdzie powinienem umieścić klasy wspierające?Gdzie rake Klasy zadań na żywo? (Rails 3)
Dziękujemy!
Mam kilka klas, które są używane tylko przez zadanie rake. Zdaję sobie sprawę, że zadania rake normalnie live @ lib/tasks/whatever.rake, ale gdzie powinienem umieścić klasy wspierające?Gdzie rake Klasy zadań na żywo? (Rails 3)
Dziękujemy!
$RAILS_ROOT/lib
lub $RAILS_ROOT/lib/special_task/
będzie prawdopodobnie najlepszy w jej jako domyślnej ścieżki obciążenia i można zrobić prosty require 'my_task_helper'
lub require 'special_task/helper'
odpowiednio.
Bezpośrednio wewnątrz "lib", jeśli ładujesz środowisko Rails dla zadań.
Można również utworzyć wtyczki, jeśli jest ich zbyt wiele.
Wtyczki są przestarzałe w Railsach 3.2 i usunięte w Railsach 4, ale jeśli masz większą liczbę plików, zawsze możesz [użyć podfolderów w /lib](http://stackoverflow.com/questions/4981267/subfolders-in -lib). –
Może to głupie pytanie, ale co mam nazwać klasą? Sugerujesz, że wymagam tego przez "special_task/helper" i trochę mnie wyrzuca. dzięki! –
Tak "special_task/helper" i "my_task_helper" były tylko przykładem. Możesz spróbować po prostu nazwać pliki 'lib/ _utils.rb' lub' lib/ _helper.rb'. To, co robiłem z katalogiem, to było to, że gdybyś miał kilka zadań dla różnych zadań klasy narzędzi i/lub lib/zaczął się bałaganić, mógłbyś umieścić je w osobnych katalogach, aby trochę uporządkować. –
rnicholson
Ah dziękuję. Nie byłem pewien właściwej konwencji nazewnictwa dla klas. W tej chwili jest to po prostu "my_class_name.rb". Powinienem go zaktualizować, a nazwa klasy to WhateverHelper. –