表現モデルによってはどうしても長いカラム名を付けてしまったり、普段使い慣れないtypoしやすい英単語名をつけることがあると思います。
その際に手助けになるのがgem annotate
です。
環境
rails (5.1.6) annotate (2.7.4)
どういうものか
Modelのクラスにそのモデルのカラム名などの情報をファイル上部にコメント書きしてくれます。
例
例えば、以下のようなmigrationファイルでmigrateするとします。
class CreateUsers < ActiveRecord::Migration[5.1] def change create_table :users do |t| t.string :name, null: false, default: "" t.timestamps end end end
このテーブルが作られた状態でコマンドを打つと以下のように結果が返ってきて
$ bundle exec annotate Annotated (3): app/models/user.rb, test/models/user_test.rb, test/fixtures/users.yml
Modelクラスにカラムの情報がコメント記載されます
# == Schema Information # # Table name: users # # id :bigint(8) not null, primary key # name :string(255) default(""), not null # created_at :datetime not null # updated_at :datetime not null # class User < ApplicationRecord end
これでいちいちDBを見たりしなくてもカラム名がわかって、コード書くときもコメントからコピペをすればタイポなどを防ぐことができるので、多方面の重宝する。
余談
手動でmigrationファイルやモデルを作った時にRailsの規則に則ってないとコメントが正しく書き込まれないのでファイル名のタイポやクラス名の間違いに気づきやすいという副次的効果がある
個人的にはRailsアプリケーションには絶対いれたいgemの一つです。