Ruby on Rails初学者がscaffoldを使ってみた

Ruby on Railsマイグレーションして、ユーザ登録画面を作ってみる。

ここで登場 scaffold !!

scaffoldは、CRUD処理(作成、読み込み、更新、削除する処理)を自動で作ってくれる機能。(最高かよ...)
MVCを全て作成し、DBのmigrateファイルも作ってくれる。

おいおい、、至れり尽くせりじゃないの。

 

さっそく貪っていく。

 

実行コード:

 

bundle exec rails generate scaffold user name:string age:integer prof:text 

 
これでクラスが作られる。
このコードでこんなテーブルが生成される。

テーブル名:user

カラム:name 型:文字列

カラム:age  型:数値

カラム:prof  型:テキスト

 

 

直接DBをいじるのではなく、

「DBファイルをどうするのか?」というファイルを作ってから、DBに反映させていく。

実行結果:

class CreateUsers < ActiveRecord::Migration[6.0] //アクティブレコードを継承
def change
create_table :users do |t| //:usersを do でループする。 変数 tに格納
t.string :name
t.integer :age
t.text :prof

t.timestamps
end
end
end
 
bin/rails db:migrate
bundle exec rails s
でWEBサーバーを開始
 
に接続してみる
 

f:id:TMLabo:20200129212314p:plain

中身: index.html.erb
<p id="notice"><%= notice %></p>

<h1>Users</h1>

<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Prof</th>
<th colspan="3"></th>
</tr>
</thead>

<tbody>
<% @users.each do |user| %>
<tr>
<td><%= user.name %></td>
<td><%= user.age %></td>
<td><%= user.prof %></td>
<td><%= link_to 'Show', user %></td>
<td><%= link_to 'Edit', edit_user_path(user) %></td>
<td><%= link_to 'Destroy', user, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>

<br>

<%= link_to 'New User', new_user_path %>
 
格好よくはないが、機能としての
ユーザー登録、データ更新、データ削除が可能な機能、
そしてそのインターフェースが出来上がってしまった。
 
効率化最高。