Estou achando difícil ver facilmente quais atributos / propriedades existem em todas as minhas classes de modelo, pois elas não estão explicitamente definidas nos meus arquivos de classe.
Para descobrir os atributos do modelo, mantenho o arquivo schema.rb aberto e alterno entre ele e o código que estou escrevendo conforme necessário. Isso funciona, mas é desajeitado porque eu tenho que alternar entre ler o arquivo de esquema para selecionar atributos, o arquivo de classe do modelo para verificar métodos e qualquer novo código que estou escrevendo para chamar atributos e métodos.
Minha pergunta é: como você descobre os atributos do modelo ao analisar uma base de código do Rails pela primeira vez? Você mantém o arquivo schema.rb aberto o tempo todo ou existe uma maneira melhor que não envolva alternar constantemente entre o arquivo de esquema e o arquivo de modelo?
Respostas:
Para coisas relacionadas ao esquema
Por exemplo, variáveis / atributos em um objeto AR
Por exemplo, métodos sem herança da super classe
fonte
Model.attribute_names
.Existe um plug-in rails chamado Annotate models, que irá gerar os atributos do seu modelo na parte superior dos arquivos do seu modelo, aqui está o link:
https://github.com/ctran/annotate_models
para manter a anotação sincronizada, você pode escrever uma tarefa para gerar novamente modelos de anotação após cada implantação.
fonte
Se você está interessado apenas nas propriedades e tipos de dados do banco de dados, pode usar
Model.inspect
.Como alternativa, tendo executado
rake db:create
erake db:migrate
para o seu ambiente de desenvolvimento, o arquivodb/schema.rb
conterá a fonte autorizada para sua estrutura de banco de dados:fonte
Para descrever o modelo, eu uso o seguinte trecho
Novamente, isso é se você estiver procurando uma boa impressão para descrevê-lo
ActiveRecord
sem passar por migrações ou pular esse desenvolvedor antes de ser legal o suficiente para comentar em atributos.fonte
Fonte: blog
fonte