webエンジニアさもの挑戦

RubyやPython, JSなど、IT関連の記事を書いています

Rails入門者のためのQA~勉強方法~

f:id:s-uotani-zetakansu:20171116112126j:plain

こんにちは、エンジニアのさもです。

今回からちょっとずつ連載みたいな感じでRailsに入門されて間もない方のための記事を書いていこうと思います。

内容としては、一から全て説明するのではなくて、QA方式でつまずきそうなところを書いていきます。

スポンサーリンク

Q. 勉強方法を教えて

A. サクッと勉強して、ササッとwebサービスを作っていきましょう

Railsの機能は非常に豊富で、全部一通り勉強してから何かを作り始めようとすると、Railsの勉強途中でモチベーションがなくなってしまうかもしれません。なので、サクッと勉強して、ササッとwebサービスを作っていきましょう。

オススメ教材

  • ドットインストール

とりあえず、ドットインストールのRailsの動画を3,4週しちゃいましょう。これで基礎的な内容はなんとなく分かってくると思います。

1本の動画が3分もないので、全て見きるのに1時間半もかからないくらいです。

  • Railsの書籍

以下の書籍が読みやすくてオススメです。

すべてを読み切る必要はありませんが、webサービスを作っていくときに常に隣にいて欲しい存在です。

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

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

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

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

  • Ruby

Rubyの基本を分かっていないとしんどいので、Rubyは勉強しましょう。Rubyをしっかり見につけてからの方がはかどるし、楽しいです。

たのしいRuby 第5版

たのしいRuby 第5版

中級者向けですが、Rubyをもっと深く知りたい、Ruby好きになったという方は以下の書籍が超オススメです。

メタプログラミングRuby

メタプログラミングRuby

Rubyそんなに好きじゃないという方は以下の記事を読んで下さい(笑)

www.uosansatox.biz

  • progate

ドットインストールで基礎が分かったという方は、もう少し実践的なprogateで勉強を進めます。 有料なので、モチベーションやお財布と相談してみて下さい。

prog-8.com

勉強のスケジュール例

  • ドットインストール(通勤・通学などで1週間見続ける)
  • 上で紹介したRailsの書籍で、controller, model, viewの基礎を身に着けながら、どんなwebサービスを作りたいか考える。(2週間)
  • webサービスを設計してみる。といっても、紙に、どんな画面にするかと、各画面間でどんな遷移をするのかなど、ちゃんとした設計書を作る必要は無い。(2日)
  • 実装していく(好きなだけ時間をかける)。開発環境は、cloud9推奨

Q. RailsとRuby以外に勉強しておくべきものはありますか?

A. gitとjavascriptは勉強しておいて損は無いです。

優先順位的にはjavascript(特にjQuery)が使えると、画面を作るときに、柔軟に作ることが出来ます。

サーバにソースファイルを送る、何人かで開発するときなのには、gitは必要不可欠です。習得するのに時間はかからないので、どこかのタイミングで勉強しましょう。

書かなかったですが、HTMLの知識は必須です。勉強したことが無いなら、Railsよりも先にHTMLを勉強しましょう。

また、web自体の勉強も役に立ちます。こちらの大人気書籍がオススメです。メルカリに出品したら1分で売れてしまいました。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

ここからはもう少し細かいQAになります

Q. rails g modelコマンドでモデルを作ったけど、テーブルが作られていない

A. rake db:migrate コマンドを実行しましょう

rails g modelコマンドはあくまでファイル群を作るだけなので、テーブルを作るためには、マイグレーション(DBをどのように変更するかの定義書)を実行しなくてはいけません。

現在のテーブルの状態は、db/schema.rbに書かれています。

db/schema.rbの1行目に、ActiveRecord::Schema.define(version: 2017~) doと書かれているかと思いますが、このversion:の右側に書かれているのが、現在までに実行されたマイグレーションファイルの番号です。

db/migrateフォルダにマイグレーションファイルが作られていきますが、ファイル名についている数字がマイグレーションの番号です。ファイル名を変えるとマイグレーションが実行されない(飛ばされる)可能性もあるので、基本的にはそのままでいいです。

Q. rails db:migrateコマンドが実行できない

A. rails -vコマンドでバージョンを確認してください。

railsのバージョンが4までであれば、rake db:migrateコマンドで実行できます。

railsのバージョンが5からは、rake系のコマンドは railsコマンドでも実行できるようになりました。rakeとrails2つあったのを統合した感じですね。

もちろん、railsのバージョンが5でも、rakeコマンドは使えます。

rakeコマンドにどんなものがあるかは、rake -Tで確認できます。

まとめ

今回はどうやって勉強をすすめていくのか、初めてモデルを作ったときに引っかかりそうなポイントを書いてみました。

最初は覚えることが多くて大変ですが、頑張っていきましょう。

読者登録をしていただけると、ブログを続ける励みになりますので、よろしくお願いします。