Trudno mi łatwo zobaczyć, jakie atrybuty / właściwości istnieją we wszystkich moich klasach modelu, ponieważ nie są one jawnie zdefiniowane w moich plikach klas.
Aby odkryć atrybuty modelu, otwieram plik schema.rb i przełączam go między nim a kodem, który piszę w razie potrzeby. To działa, ale jest niezgrabne, ponieważ muszę przełączać się między czytaniem pliku schematu, aby wybrać atrybuty, plikiem klasy modelu, aby sprawdzić metody, i jakimkolwiek nowym kodem, który piszę, aby wywołać atrybuty i metody.
Moje pytanie brzmi: w jaki sposób odkrywasz atrybuty modelu, kiedy analizujesz bazę kodu Railsów po raz pierwszy? Czy cały czas otwierasz plik schema.rb, czy jest lepszy sposób, który nie wymaga ciągłego przeskakiwania między plikiem schematu a plikiem modelu?
Odpowiedzi:
Dla rzeczy związanych ze schematem
Na przykład zmienne / atrybuty w obiekcie AR
Na przykład metody bez dziedziczenia z superklasy
źródło
Model.attribute_names
.Istnieje wtyczka rails o nazwie Annotate models, która wygeneruje atrybuty twojego modelu w górnej części plików modeli, tutaj jest link:
https://github.com/ctran/annotate_models
aby zachować synchronizację adnotacji, możesz napisać zadanie ponownego generowania modeli adnotacji po każdym wdrożeniu.
źródło
Jeśli interesują Cię tylko właściwości i typy danych z bazy danych, możesz użyć
Model.inspect
.Alternatywnie, po uruchomieniu
rake db:create
irake db:migrate
dla twojego środowiska programistycznego, plikdb/schema.rb
będzie zawierał autorytatywne źródło struktury bazy danych:źródło
Do opisu modelu posłużę się następującym fragmentem
Znowu tak jest, jeśli szukasz ładnego wydruku, aby opisać Cię
ActiveRecord
bez przechodzenia przez migracje lub przeskakiwania tego programisty, zanim byłeś wystarczająco miły, aby komentować atrybuty.źródło
Źródło: blog
źródło