最初に覚えておきたい!Ruby on RailsのCRUDの使い方【初心者向け】

Ruby on Railsの基本であるCRUDについて解説しています。scaffoldを使いながらソースコードの書き方やブラウザでの表示を説明しています。これから学習を進める上で基本となる知識になりますのでここで理解しましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

RubyのフレームワークのRuby on Railsの学習をする上でまず抑えておきたい「CRUD」について解説していきます。

CRUDという単語だけでなく使い方をマスターすれば、今後の学習もスムーズに理解できるはずなのでしっかり覚えていきましょう。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

 

大石ゆかり

田島メンター!!CRUDというのはいったい何ですか〜?

田島悠介

“Create”・”Read”・”Update”・”Delete”の頭文字を取ったもので、データベースに関する基本的な動作のことを言うよ。

大石ゆかり

“Create”が新しくデータを登録する、”Delete”は削除という感じですね。

田島悠介

そうだね。実際に動作を見てみようか。ここではscaffoldコマンドを使うよ。

 

CRUDとは

Ruby on Railsに限らずwebアプリケーション開発は四つの機能で基本作成されていると言われています。

新規作成(Create)、表示(Read)、更新(Update)、削除(Delete)の四つです。それぞれの頭文字を合わせてCRUDと呼ばれています。それでは実際にCRUDを動かしてみましょう。

 

CRUDを作ってみる

今回はsampleというRailsプロジェクトの中にscaffoldを作成していきます。

$rails g scaffold Post name:string container:text

その後

$ rake db:migrate

とし、rootをindexに設定してください。

87179ed843f50a0361f8b53e01cec6d8-300x203

するとこのような画面が表示されます。

 

田島悠介

今回はnameというstring型と、containerというtext型のカラムを作成しているよ。

大石ゆかり

このふたつにデータを入力するんですね。

田島悠介

scaffoldではCRUDの一式が揃ったものが自動で生成されているので、これを参照してみよう。

 

その後new postから新しいpostを作成すると以下のようになります。

403afae853f99205ff05d1ec98c6a74e

ecb9614c5c9af2bab88f0202cd882169

このように新しいPostが作成されていることが確認できます。ここでindexのviewを確認してみましょう。

 

<table>
  <tbody>
    <% @posts.each do |post| %>
    <tr>
      <td><%= post.name %></td>
      <td><%= post.container %></td>
      <td><%= link_to 'Show', post %></td>
      <td><%= link_to 'Edit', edit_post_path(post) %></td>
      <td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %></td>
   </tr>
   <% end %>
  </tbody>
</table>
<br>
<%= link_to 'New Post', new_post_path %>

特に注目していただきい部分はlink_toの部分です。それぞれにCRUDのアクションが確認できます。

 

今回は簡単にwebサービスの基礎であるCRUDを作成してみました。また、scaffoldは簡単に読めるコードなので興味のある方は是非読んでみるようにしましょう。

 

田島悠介

それぞれのアクションを確認するとどうなっているかな。

大石ゆかり

この場合「Show」がReadで「Edit」がUpdate、「Destroy」がDeleteになりますね。

田島悠介

そうだね。そして最初に入力を行ったのがCreateということになるんだ。データベースにはこれらの一連の動作が必要だということが分かるね。

大石ゆかり

データを扱う際の基本の流れがCRUDなんですね。ありがとうございました!

 

[お知らせ]TechAcademyでは初心者でも8週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。RubyでWebアプリを開発したい方はご参加ください。