概要
原著者の許諾を得て翻訳・公開いたします。
- 英語記事: The Ultimate Intermediate Ruby on Rails Tutorial: Let’s Create an Entire App!
- 原文公開日: 2017/12/17
- 著者: Domantas G
Rails5中級チュートリアルはセットアップが短めで、RDBMSにはPostgreSQL、テストにはRSpecを用います。
原文が非常に長いので分割します。章ごとのリンクは順次追加します。
注意: Rails中級チュートリアルは、Ruby on Railsチュートリアル(https://railstutorial.jp/)(Railsチュートリアル)とは著者も対象読者も異なります。
Rails5「中級」チュートリアル(1)序章とセットアップ(翻訳)
初めてアプリを作る方法を解説するチュートリアルはネット上に山ほどあります。本チュートリアルは、そこからさらに進んで、もっと複雑なRuby on Railsアプリを作る方法を詳しく解説いたします。
本チュートリアルでは、折に触れて新しい技術や概念を順次導入していきます。すなわち、どの新しいセクションにも学ぶべき新しいことが記されています。
本チュートリアルで扱うトピックには以下のものがあります。
- Ruby On Railsの基礎
- リファクタリング(ヘルパー、パーシャル、concern、デザインパターン)
- テスト: TDD/BDD(RSpecとCapybara)、ファクトリー(FactoryBot)
- ActionCable
- ActiveJob
- CSS、Bootstrap、JavaScript、jQuery
どんなアプリを作るか
自分と考えの近い人を探して出会えるプラットフォームを作ることにします。
このアプリの主要な機能は次のとおりです。
- 認証(Deviseを使用)
- 投稿の表示、検索、分類
- インスタントメッセージ(ポップアップウィンドウと独自のメッセンジャー)
- 非公開チャットやグループチャットを作成可能
- ユーザーをつながり(contact)に追加する
- リアルタイム通知
完成したアプリの外観については以下の動画でご覧いただけます。
完成したソースコードはGitHubのdomagude/collabfieldにあります。
目次
- 1. 序章とセットアップ(本章)
- 2. レイアウト
- 3. 投稿
- 3-1 認証
- 3-2 ヘルパー
- 3-3 テスト
- 3-4 メインフィード
- 3-5 単一の投稿
- 3-6 特定のブランチ
- 3-7 Service Object
- 3-8 新しい投稿を作成する
- 4. インスタントメッセージ
- 4-1 非公開チャット
- 4-2 連絡先
- 4-3 グループチャット
- 4-4 メッセンジャー
- 5. 通知
- 5-1 つながりリクエスト
- 5-2 チャット
1-1 必要なもの
コードのあらゆる行について、その書き方を選んだ経緯を解説します。まったくの初心者であっても本チュートリアルを終えることは一応可能ですが、本チュートリアルのトピックの中には初心者には手に余る内容も含まれている点にご注意ください。
したがってまったくの初心者にとっては、学習曲線をかなり急上昇することになるので厳しくなるでしょう。新しい概念について触れるたびに、補足情報へのリンクを置くようにします。
理想的には、以下について基礎的な知識を持ち合わせているのがベストです。
1-2 セットアップ
基本的なRuby on Railsの開発環境が設定済みであることが前提です。まだの方はRailsInstallerをチェックしてください。
ある時期の私はWindows 10で開発していました。最初のうちはよかったのですが、やがてWindowsが引き起こすさまざまな謎障害をつぶして回る作業に疲れてしまいました。自分のアプリを動かすためにさまざまな裏技を繰り出さなければならず、これは時間の無駄だと気づきました。こうした障害を克服しても実になるスキルや知識は何も得られず、結局Windows 10でのセットアップでジタバタしただけで終わってしまったのです。
そういうわけで私はバーチャルマシン(VM)での開発に切り替えました。私が選んだのは、Vagrantに開発環境を構築してPuTTY でVMに接続する方法です。Vagrantを使ってみたい方は、こちらのチュートリアル動画が便利です。
1-3 新しいアプリを作る
データベースには、Ruby on Railsコミュニティで人気の高いPostgreSQLを使うことにします。PostgreSQLを使うRailsアプリを作ったことのない方は、こちらのチュートリアルをご覧ください。
PostgreSQLに慣れている方は、コマンドプロンプトを開いてプロジェクトを置きたいディレクトリに移動しましょう。
新しいアプリを作成するには以下を実行します。
rails new collabfield --database=postgresql
アプリの名前はCollabfield
とします。RailsはデフォルトではSQLite3を使いますが、ここではPostgreSQLを使いたいので、以下のオプションを追加することで指定する必要があります。
--database=postgresql
これで新しいアプリを生成できたはずです。
以下を実行して、作成したディレクトリに移動します。
cd collabfield
これで、以下を入力すればアプリを実行できます。
rails s
アプリを起動したので、どのように表示されるかを確認できるようになりました。ブラウザでhttp://localhost:3000を開きます。問題がなければ、Railsのwelcomeページが以下のように表示されるはずです。
- 次回: Rails5「中級」チュートリアル(2)レイアウト(翻訳)