鳩がITをくらったような顔

ITでうんとこしょどっこいしょ

Ruby on Rails4でアプリ開発を学ぶ -Ruby初学からアプリ作成まで-

はじめに

この度、Ruby on Rails4で極簡単なWebアプリを作りましたので、Rubyを学ぶところからアプリを作成するまでの流れを自身のメモも兼ねてご紹介します。

Rubyを触ったこともないけど、他の言語なら文法くらいならわかるよ」という方向けの記事です。よかったら参考にしてください。

目次

  • モチベーション
  • Rubyを勉強しよう
  • Ruby on Rails4フレームワークを勉強しよう
  • 実際にアプリを作ってみよう

 

モチベーション

何かつくりたいという動機はあった方がいい

Rubyを触ったことがない人がアプリを作って公開するとなると、ちょっとプログラミングをしたことがある人なら「時間がかかるかも」と察すると思います。

そのためには、何か目標となる(作りたい)ものをまず簡単に想像しておくと挫折することなくやり通すことが出来ると思います。

Railsはデータの新規作成、更新、削除を簡単に行うことができるので、例えば、スケジュール帳のようなものを作るのが得意です。

 

Rubyを勉強しよう

文法とWebアプリを同時に学ぶ本 

私はこの本で、Rubyの文法とWebアプリの一連の作り方について学びました。

作りながら学ぶRuby入門 第2版

作りながら学ぶRuby入門 第2版

 

 この本を選んだ理由は、

  • お金の節約
  • フレームワークでしか開発できない薄っぺらい知識にしたくない

の2点です。

Rubyの文法に関してはネットでいくらでもカバーできるだろうと考え、Webアプリ開発寄りの本を選びました。実際、この書籍でも文法は学ぶことができます。(そういう本ですから)

また、エンジニア(似非)としてフレームワーク頼みじゃなくて、根本的な知識も身につけておきたいという思いでこの書籍を選びました。

 

文法の本

Rubyの文法の書籍をお守りとして傍らに置いておきたいという場合はこちらが鉄板でしょう。

たのしいRuby 第3版

たのしいRuby 第3版

 

 

また、IPAでもRubyRailsの教材が公開されていたりするのでRubyの文法に関してはこちらを見ておくだけでも良いかもしれません。

IPA 独立行政法人 情報処理推進機構:OSS人材育成:OSSモデルカリキュラム導入実証

 

まずは1ヶ月、じっくりとRubyベタ打ちでWebアプリ開発するところまで勉強しました。私は比較的に低スペなので皆さんはもっと早く習得できると思います。

 

Ruby on Rails4フレームワークを勉強しよう

書籍はこれ一択

Rubyの勉強が終わった頃、丁度いい時期にこちらの書籍が発売されました。

内容も充実しているということと、Rails4の書籍は本当に種類が少ないためこれ一択でした。

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

 

 内容的には、まず序盤にRailsとはなんぞやというところからアプリ作成までを一通り学びます。その後、Railsの採用するMVCモデルであるMode・View・Controlのそれぞれについて知識を深めて行く構成になっています。

なので、正直、序盤だけで何かしら動くものが完成します。フレームワークを使用するからこそのスピード感だと思います。

Railsは、「設定より規約」という理念がありますので、所謂「書き方の作法」について少々厳しいところがあります。よって、Railsを学ぶということはそういう決まりごとを勉強する、ということになります。

 

この書籍で1ヶ月ほどお勉強。

 

つまづいたら...

もしかしたらRailsの勉強中に躓いてしまうかもしれません。私は躓きましたw

そこで、こちら。

Ruby on Rails 4入門 (全28回) - プログラミングならドットインストール

 

書籍だと覚えること多すぎ、意味わかんない、となったら頭をリセットしてドットインストールさんに教えて貰いましょう。

「3週くらいすると理解できる」というのをどこかで見た覚えがあります。正直3週もやってられっかと思いましたが、いや、3週すべきです。むしろ、繰り返し見てしまいます。

書籍の情報を全て覚える必要はありません。流れを一通りつかんだら、書籍の力を借りて色んな機能を付けて改造していってみましょう。

 

勉強方法については以上です。

ここからは、実際にアプリを作成する流れを紹介します。

 

 実際にアプリを作ってみよう

CRUD機能*1を持ったアプリの簡単な作成手順について紹介します。開発環境等については書籍をご確認ください。 

 

アプリケーションの作成

アプリケーションと言っても現時点では概念的なものです。(入れ物)

アプリケーションを置くところにcdコマンドで移動し以下を入力します。ここでは、本を管理するアプリケーションということで、アプリ名をlibraryとします。

rails new library

 

Scaffolding機能の利用 

箱が出来たので、次に中身を作ります。

RailsにはScaffolding機能というものがあり、CRUD機能を持つアプリの雛形を自動で作ってくれるものです。

アプリで本(book)を管理したいので、「書籍名・値段」のデータを管理するものとします。

cdコマンドで、先ほど作成したアプリケーション(フォルダ)に移動し、以下を入力します。

rails generate scaffold book title:string price:integer

scaffoldの後の名前は必ず単数形です(booksではダメ)。 

後部の「title:string price:integer」は、「string(文字)型のtitleというデータ」「integer(整数)型のpriceというデータ」を扱うことを意味します。

これにより、bookのコントローラ、モデル、ビューの雛形が自動生成されます。

 

マイグレーションを行う

マイグレーションとは、データベースを構成することです。Scaffoldingではデータの定義はしても、データベースのテーブルまでは作ってくれませんので、別途コマンドを発行して作ります。

rake db:migrate

 これでテーブルが作成され、データの格納ができるようになりました。

 

サーバを起動

サーバを起動し、どのようなアプリが作成されているか確認して見ましょう。

rails s

ローカルの3000番ポートにサーバが立ち上がるので、ブラウザで確認してみましょう。

http://localhost:3000/books

Scaffoldでは「book」として作成しましたが、アクセスするURLは複数形になることに注意しましょう。(Scaffolding時、名前は単数形であること)

これはRailsの「設定より規則」の信念の元の規則になります。

 

 アクセスすると、「New Book」というリンクが生成されているので、クリックして本のデータを登録してみましょう。

登録が完了すると、一覧に戻るので、Showで詳細を見てみるなり、Editでデータを書き換えたり、Destroyで削除したりしてみましょう。

 

 以上で本当に小さなCRUD機能を有したアプリが完成です。

 

*1:CRUD=Create-Read-Update-Delete 機能のこと。