#使用環境
ホストOS: Windows10 home
仮想環境OS: Ubuntu Bento/Bionic
Ruby:2.51
Rails:5.2.2
エディタ:nano
#Scaffoldを用いたページ作成
##Scaffoldとは
使用するデータの型などを指定して、作りたいものの土台(アプリケーションの雛形)を作成。
*Scaffoldは英で足場の意で、個人的には初段階用の便利簡単即席ツールという認識。
##まずrails newあたりから、rails serverまで。
vagrant ssh
rails new sample -d mysql
cd sample
# Gemfile内のmini-racerをコメントアウト
bundle install
# bundlerというgemを使って、Gemfile記載内容に依ってgemをインストール
# passwordを書き込む。
rails db:create
# database.ymlを読み込み,これに基づいてデータベースを作成
rails server
##Scaffold使用段階
rails generate model User name:string email:string sex:integer age:integer address:integer attendance:integer opinion:text
# rails generate scaffold (コントローラ名/モデル名) カラム名1:データ型1 カラム名2:データ型 2 …
rails db:migrate
Railsドキュメントより(http://railsdoc.com/references/rake%20db:migrate)
rails db:migrateを実行
schema_migrationsテーブルを調べ、存在しなければ作成
db/migrateディレクトリ内のすべてのマイグレーションファイルを調べる
データベースの現在のバージョンと異なるバージョンがあった場合、データベースに適応
schema_migrationsテーブルの更新
この状態で、rails sで立ち上げ、localhost:3000/usersに接続し、データ入力しようとすると、
![dc16e3b0540b67f8e5999a15dde5ad82.jpg](https://qiita-image-store.s3.amazonaws.com/0/294402/e5e0fca3-7a91-c3bf-809b-8d87535916e6.jpeg)
のように、integer型で指定したカラムに±∞の数値を入力できてしまう。
そこで
```app/models/user.rb
class User < ApplicationRecord
enum sex: { male: 0, female: 1 }
end
# ラジオボタンに変更
<div class"field">
<%= form.label :sex %>
<%= form.radio_button :sex, 'male' %>男性
<%= form.radio_button :sex, 'female' %>女性
</div>
とすると、性別がラジオボタンとなり、意図したデータ入力ができる。
その他のカラムも同様にラジオボタンに変更するなり出来る。