Lチカ開発ブログ

https://l-chika.com/の開発ブログ

rails generate model のいろいろ

rails generate model で出来る事のメモ(オプション以外の)

referencesとpolymorphic

rails generate model product supplier:references{polymorphic}

db/migrate/XXX_create_products.rb

class CreateProducts < ActiveRecord::Migration[5.2]
  def change
    create_table :products do |t|
      t.references :supplier, polymorphic: true

      t.timestamps
    end
  end
end

limit

整数、文字列、テキスト、およびバイナリフィールドの場合、中括弧で囲まれた整数は制限として設定できる

rails generate model user pseudo:string{30}

小数の場合は、中カッコでコンマで区切られた2つの整数が使用できる

rails generate model product 'price:decimal{10,2}'

index

rails generate model user pseudo:string:uniq

rails generate model user pseudo:string:index

limitとuniqインデックス

rails generate model user username:string{30}:uniq

db/migrate/XXX_create_users.rb

class CreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      t.string :username, limit: 30

      t.timestamps
    end
    add_index :users, :username, unique: true
  end
end

password_digest

rails generate model user password:digest

db/migrate/XXX_create_users.rb

class CreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      t.string :password_digest

      t.timestamps
    end
  end
end

auth_token

rails generate model user auth_token:token

db/migrate/XXX_create_users.rb

class CreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      t.string :auth_token

      t.timestamps
    end
    add_index :users, :auth_token, unique: true
  end
end

関連

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5 超入門

Ruby on Rails 5 超入門