icon
icon

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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,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アプリを開発したい方はご参加ください。

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する