(詳細は私の名前をGoogleで検索してみてください)。乗り換えることができました。チュートリアルという本です。関連の本を参考にしてきましたが、真の決定版と呼べるものは本書をおいて他にありません。流」で行われています。最初のうちは慣れるまでに時間がかかりましたが、この本を終えた今、ついにこれこそが自然な方式だと感じられるまでになりました。全編を通して実践しています。実例を使ってここまで分かりやすく解説された本は、本書が初めてでしょう。実例に含めている点です。このような、実際の開発現場で使わているツールもチュートリアルに含まれているため、読者は、まるで実際のプロジェクトの開発プロセスを体験しているかのような感覚が得られるはずです。それでいて、それぞれの実例が独立したセクションになっているのではなく、そのどれもがチュートリアルの内容と見事に一体化しています。本書は、筋道だった一本道の物語のようになっています。チュートリアルを3日間かけて一気に読破しました1。最初から最後まで、途中を飛ばさずにやるのが一番効果的で有益な読み方です。3分のTEDの動画「社会運動をどうやって起こすか」を観たことがある方もいるのではないでしょうか。その方からの推薦の言葉です。多くを参考にさせてもらっています。協力と本書への支援も含め、感謝したいと思います。氏にも謝意を表したく思います。彼女が野球の試合に連れて行ってくれる限り、私は本を書き続けるでしょう。方々、ありがとうございました。最後に、ここに書ききれないほど多くの読者からバグ報告や提案を頂きました。ご協力いただいた皆様のおかげで、本書の完成度をとことんまで高めることができました。Donahoe、日々のチュートリアルの制作をサポートしてくれてありがとう。最後に、たくさんの読者の皆さん、そして、ここに挙げきれないほど多いコントリビューターのみんな、バグ報告や提案をしてくれてありがとう。彼ら/彼女らの多くの手助けに、最高の感謝を。開発を学ぶときによく参考にされる本の著者です。教育系ウェブサイトの創業者でもあります。ベースのSNSプラットフォーム「Insoshi」の開発にも携わっていました。ハーバード大学卒業後、カリフォルニア工科大学で物理学博士号を取得。ライセンスの元で提供されています。「すべてのソースコード」とは、Railsチュートリアル内で題材としている「Railsアプリケーションのソースコード」を指します。「Railsチュートリアル」という教材は上記ライセンスで提供されていないのでご注意ください。商用でRailsチュートリアルをご利用する場合はお問い合わせページからご連絡ください。実際には数週間〜数ヶ月をかけて読むのが一般的です。本章から、本格的なサンプルアプリケーションの開発を進めていきます。残りのチュートリアルでは、このアプリケーションを例題として扱って学習していくことになります。本書を通して開発するアプリケーションは、最終的にはユーザーやマイクロポスト、ログイン/ログアウトなどの認証機能を持ちますが、まずは簡単なトピックである「静的なページの作成」から始めます。非常に単純なページではありますが、静的なページを自分の手で作成することは良い経験になり、多くの示唆も得られます。私達がこれから開発するアプリケーションにとって最適なスタート地点といえるでしょう。Railsはデータベースと連携して動的なWebサイトを開発するように設計されていますが、HTMLファイルだけで構成されている静的なページを作ることもできます。実際、Railsであえて静的なページを使っておき、後からほんの少し動的なコンテンツを追加することもできます。本章では、このような静的なページの作成について学んでいきます。本章ではそれと平行して、近年のプログラミングで不可欠となっている「自動化テスト」の雰囲気を掴んでいただきます。自動化テストを作成することで、コードが正しく動いていることが裏付けられます。良いテストを書くことで、自信をもってリファクタリングを行うことができます。フォームの振る舞いを変更せずに、フォーム内で使われているメソッドを書き換えたいときに有用です。セットアップ第2章と同様に、新しいRailsプロジェクトを作成するところから始めます。sample_app/(2.1でも説明したとおり、クラウドIDEをご利用の方は、このプロジェクトをこれまでの2つの章で作成したプロジェクトと同じワークスペースに置くことができます。このプロジェクトで特に新しいワークスペースを作成する必要はありません)。本チュートリアルを全てやり遂げた時の完成版サンプルアプリケーションをBitbucketに置いておきました2。途中で躓いてしまったときは参考にしてみてください。次に、2.1と同じように、テキストエディタを使ってGemfileに必要なgemを書き足していきます。2.1と基本的に同じですが、testグループ内のgemだけが少し違っています。この変更でテスト用オプションを設定していますが、少し高度なので細かな解説は3.6に回します。今はあまり気にしないで大丈夫です。13.72を参照してください。これが最終的なGemfileになります)。installを実行して、Gemfileで指定したgemのインストールをします。productionオプションを使って、production環境でしか使わないgemはインストールしないようにしておきます3。gemをdevelopment環境にインストールせず、代わりにSQLiteがdevelopment環境とtest環境で使われるようになります。Herokuでは、development環境とproduction環境とで異なるデータベースを使うことを非推奨としていますが、幸いにもこのサンプルアプリケーションでは両者の違いは生じません。SQLiteの方がPostgreSQLよりもローカルでのインストールや設定がずっと楽なので、今回は異なるデータベースを使うことにします4。し、gemのバージョンを合わせておくとよいでしょう。updateここまで進めたら、後はGitリポジトリを初期化するだけです。db:migrateが必要になることはありませんが、いずれ必要になるので今のうちに含めてしまいましょう)。チュートリアルのサンプルアプリケーションこれは、次の教材で作られたサンプルアプリケーションです。チュートリアル](https://railstutorial.jp/)内にあるソースコードはMITライセンスとBeerwareライセンスのもとで公開されています。使い方このアプリケーションを動かす場合は、まずはリポジトリを手元にクローンしてください。production```その後、データベースへのマイグレーションを実行します。db:migrate```最後に、テストを実行してうまく動いているかどうか確認してください。test```テストが無事に通ったら、Railsサーバーを立ち上げる準備が整っているはずです。チュートリアル*](https://railstutorial.jp/)を参考にしてください。書き終わったら、この変更をコミットします。"Message"というGitコマンドを実行したことを思い出してください。"Message"と実行することができます。本書では今後もこのサンプルアプリケーションを使い続けるので、Bitbucket上にリポジトリを作成してpushしておくとよいでしょう。リポジトリやその参照先もすべてプッシュする後でproduction環境にプッシュするときに悩まずに済むよう、アプリをなるべく早い段階でHerokuにデプロイしておくとよいでしょう。world」の手順に従って進めてみましょう。(RailsのデフォルトのページはHeroku上ではうまく表示されない仕様になっています。このため、次のような変更を加えないとデプロイが成功したかどうかが分かりづらい、というのが本当の理由です。'application#hello'end終わったら、次のように変更をコミットしてHerokuにプッシュします。master1.5のときと同じように警告メッセージが表示されることがありますが、無視して構いません。この警告は7.5で解決する予定です。1.23のとおりに表示されるはずです。この後も、本チュートリアルを進めながらアプリケーションをこまめにプッシュ/デプロイすることをおすすめします。することでリモートバックアップにもなり、production環境でのエラーを早めに確認することもできます。Herokuに展開するときにエラーが発生した場合は、次のコマンドを実行して本番環境のログを取得してください。このログは、問題を特定するときに役立ちます。今後Herokuで何らかの本番アプリケーションを運用する予定があるなら、7.5のproduction用Webサーバーの設定に必ず従ってください。HTMLとして正しく描画しているか、確認してみてください。ルートURLにアクセスして、デプロイが成功したかどうか確かめてみてください。静的ページ3.1の準備がすべて完了したら、いよいよサンプルアプリケーションの開発に取りかかりましょう。この節では、まずはRailsのアクションやビューを使って静的なHTMLのみのページを作成し、その後、静的なページを動的なページに作り変えていきます6。