そーす

福岡在住。iOS/Androidアプリ, Webフロントエンドのエンジニアです。Swift, Kotlin, JavaScript, ReactNative

カラムの情報をモデルに出力するGem「annotate」

f:id:saburesan:20161031001347p:plain

最近個人アプリでサーバーサイドも作りたくなったので目下勉強中です。

Railsチュートリアルは一通りやってたのですが、アプリのAPIとなると結構わからない部分が多くて中々進みません。

テーブルのカラムの情報をschema.rb見ながらモデルクラスにバリデーション書いたりするのが結構めんどくさいなーと思っていたら、

カラム情報をモデルクラスに出力してくれるgemがあることを知りました。初学者にはありがたい。

インストール

gem 'annotate'
bundle install

カラム情報を書き込む

カラムに変更を加えたら以下を実行

bundle exec annotate

すると

# == Schema Information
#
# Table name: users
#
#  id               :integer          not null, primary key
#  email            :string(180)
#  crypted_password :string(255)
#  salt             :string(255)
#  created_at       :datetime
#  updated_at       :datetime
#  token            :string(180)
#  hoge             :string(255)
#

class User < ActiveRecord::Base
  authenticates_with_sorcery!

  validates_uniqueness_of :email, allow_blank: true
end