例えば10進数で最大桁数10桁、小数点以下2桁のprice
フィールドを持ったモデルを作成するとする。
このときシングルクォーツで囲ってやらないとヤヴァイ。
rails g model product 'price:decimal{10,2}'
理由は以下に書いてあるのですが、
要は囲わないとマイグレーションファイルがこのようになっちゃう。
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.decimal10 :price
t.decimal2 :price
t.timestamps
end
end
end
decimal10
型とdecimal2
型のpriceができちゃう。
bash上でこうやってチェックしてみるとわかりやすい。
$ echo p{1,2}
p1 p2
なのでシングルクォーツで囲って
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.decimal :price, precision: 10, scale: 2
t.timestamps
end
end
end
このように生成するということです。
その他参考記事:
http://guides.rubyonrails.org/active_record_migrations.html#passing-modifiers