[Ruby-on-rails] Как вы обнаруживаете атрибуты модели в Rails


Answers

Существует плагин rails под названием модели Annotate, который будет генерировать ваши атрибуты модели в верхней части ваших файлов модели, вот ссылка:

https://github.com/ctran/annotate_models

чтобы синхронизировать аннотацию, вы можете написать задачу для повторной генерации аннотатных моделей после каждого развертывания.

Question

Я начал свое первое приложение Rails прошлой осенью и должен был надеть полку в течение нескольких месяцев, когда оплачивал работу, засасывающую все мое время. Теперь я заинтересован в возвращении к проекту и чтении кода, чтобы выяснить, где я остановился.

Тот факт, что Rails динамически создает атрибуты модели во время выполнения, сохраняет много повторяющегося набора текста, но мне трудно легко узнать, какие атрибуты / свойства существуют для всех моих классов моделей, поскольку они явно не определены в моих файлах классов. Чтобы обнаружить атрибуты модели, я сохраняю файл schema.rb открытым и переворачиваю между ним и любым кодом, который я пишу, который использует свойства модели. Это работает, но неуклюже, потому что я должен прочитать файл схемы, чтобы подбирать атрибуты, файл класса модели для приема методов и любой новый код, который я пишу, чтобы называть атрибуты и методы.

Поэтому мой вопрос: как вы обнаруживаете свойства модели при анализе базы данных Rails в первый раз? Сохраняете ли вы файл schema.rb открытым все время или есть лучший способ, который не требует постоянного переключения между файлом схемы и файлом модели?




Для описания модели я использую следующий фрагмент

Model.columns.collect { |c| "#{c.name} (#{c.type})" }

Опять же, если вы выглядите довольно печально, чтобы описать вас ActiveRecord если вы не проходите миграцию или не прыгаете с этим разработчиком, прежде чем вы будете достаточно хороши, чтобы комментировать атрибуты.