$ rails g model user email age:integer
- data_type
- integer
- primary_key
- decimal
- float
- boolean
- binary
- string
- text
- date
- time
- datetime
- timestamp
You are able to pass –option parameter to generator. It will inherit generating class from passed name to achieve STI (sing table inheritance):
$ rails g model admin --parent user
This example generates model:
class Admin < User
end
$ $ rails g model admin/user
you will get generated model in scope app/models/admin/user.rb, defined scope app/models/admin.rb which is requred to define module. Let’s see to the content of generated module:
module Admin
def self.table_name_prefix
'admin_'
end
end
$ rails g model user email:index location_id:integer:index
$ rails generate model user pseudo:string{30}
$ rails generate model product 'price:decimal{10,2}'
$ rails generate model user username:string{30}:uniq
$ rails generate model photo album:references
Pay attention that you have to wrap parameter price:decimal{10,2} to quotes. It’s vital and you may have incorrect behavior of generator if you don’t do it. Full explanation of this case is here.
$ rails generate model product supplier:references{polymorphic}
$ rails generate model product supplier:references{polymorphic}:index