railsでコントローラーを作るには
rails generate controller コントローラー名 アクション名1 アクション名2 ...
とする。
コントローラー名は必ずしも複数形でなくても動作しますが、慣習的に複数形にします。
アクション名は、実際に作成されるビュー(ファイル)の名前に対応します。
例
rails generate controller users index
これでUsersControllerが作成され、indexアクションとshowアクションが追加されます。
app/views/users/index.html.erb と app/views/users/show.html.erb が生成されます。
railsでDBを作成するには
rails generate model モデル カラム名:データ型
モデル名は単数形で、先頭を大文字にします。
データ型としては、string, integer, text, boolean などが使われます。
データ型の選び方
string は短いテキスト(255文字以内)に使います。
integer は数値(整数)を扱うときに使用します。
text は長い文章や大規模なテキストデータを格納する場合に使用します。
boolean は論理値(trueかfalse)を使いたい場合に選びます。
例
rails generate model User name:string email:string
これでUserモデルと、それに対応するusersテーブルが生成され、nameとemailカラムが追加されます。
その後、データベースに変更を反映させるには以下のコマンドを使います:
rails db:migrate
既存のテーブルにカラムだけを追加するには
マイグレーションファイルの名前はなんでもいいが、変更がわかるような名前が望ましい
rails generate migration add_user_id_to_posts
その後、生成されたマイグレーションファイルを開いて、add_columnを使用して次のようにカラムを追加します。
add_column :テーブル名(複数系小文字),:追加したいカラム名,:データ型
例:
add_column :posts,:user_id,:integer
のように変更する
最後に、データベースの変更を適用するために再び以下のコマンドを実行します:
rails db:migrate