背景
開発初期はめっちゃ触るんですけど、運用にまわって一段落したらほとんど触らないですよね〜
毎回忘れるのでメモです。
環境
今回テストしてる環境は
* Rails4.2.6
です。
rails generate/rails gで指定できる型
ヘルプを実行してみた内容のまとめなので、手元に環境がある方はそちらの方が正確です。
$bundle exec rails g model --help
Articleモデルを作成する際のサンプルはこのような感じです
$bundle exec rails g model article title:string description:text
上の例で言うと
title => フィールド名
string => 型
になります。
指定できる型は以下です
integer primary_key decimal float boolean binary string text date time datetime
型を指定できる部分には、[関連]を指定できたりします。
例えば[ユーザー(User)と記事(Article)は1対多]の関連実現するためには
references
という型を指定します。
こんな感じ
$bundle exec rails g model article user:references
オプション
integer, string, text, binaryは字数制限等のオプションもつけれます。
$bundle exec rails g article description:text{1000}
decimalは {10, 2}のように指定すると精度の指定ができるみたいです。
あと関連の場合はpolymorphicなんてオプションが用意されています。
$bundle exec rails g model article host:references{polymorphic}
(polymorphicについて簡単に説明すると記事を書くのはユーザーだったり、企業だったりするよね!そいつらをhostと呼ぶことにしよう!的なやつです)
もう一つのオプション
型の後ろに指定できるオプションが
uniq index
です。
$bundle exec rails g article title:string:uniq
タイトルかぶっちゃやーよ的なやつです。
あとindexを指定できるオプションが2つめコロンの後に指定できます。
まとめ
ざっとrails g modelを実行する時に毎回検索してることをまとめてみました。
あくまでここで紹介したコマンドはmigrationファイルを作成するためのものなので、コマンドを使ってテンプレートを作成せずにおれはいけるぜ!という人は、全く気にしなくていい内容です:)
調べててはじめて知ったのですが、-pオプションを使うとdry-runできるらしい!!いいね!!
ではではm( )m
Railsに関する過去記事はコチラ!