LoginSignup
2
0

More than 3 years have passed since last update.

【Railsチュートリアル】第1章 ゼロからデプロイまで 演習と解答

Last updated at Posted at 2021-01-21

はじめに

Railsチュートリアルをはじめるにあたり、演習の解答やエラーに対する解決方法、解決に至った経緯などを記録しています。

演習

1.3.2 rails server

1.3.2 - 1

デフォルトのRailsページに表示されているものと比べて、今の自分のコンピュータにあるRubyのバージョンはいくつになっていますか? コマンドラインでruby -vを実行することで簡単に確認できます。

デフォルトのRailsページ
Ruby version: ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
自分のコンピュータにあるバージョン
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]

1.3.2 - 2

同様にして、Railsのバージョンも調べてみましょう。調べたバージョンはリスト 1.2でインストールしたバージョンと一致しているでしょうか?

デフォルトのRailsページ
Rails version: 6.0.3
自分のコンピュータにあるバージョン
Rails 6.0.3

1.3.4 Hello, world!

1.3.4 - 1

リスト 1.9のhelloアクションを書き換え、「hello, world!」の代わりに「hola, mundo!」と表示されるようにしてみましょう。

app/controllers/application_controller.rb
class ApplicationController < ActionController::Base

  def hello
    render html: "hola, mundo!"
  end

end

1.3.4 - 2

Railsでは「非ASCII文字」もサポートされています。「¡Hola, mundo!」にはスペイン語特有の逆さ感嘆符「¡」が含まれています(図 1.23)17 。「¡」文字をMacで表示するには、Optionキーを押しながら1キーを押します。この文字をコピーして自分のエディタに貼り付ける方が早いかもしれません。

app/controllers/application_controller.rb
class ApplicationController < ActionController::Base

  def hello
    render html: "hola, mundo¡"
  end

end

1.3.4 - 3

リスト 1.9のhelloアクションを参考にして、2つ目のアクションgoodbyeを追加しましょう。このアクションは、「goodbye, world!」というテキストを表示します。リスト 1.11のルーティングを編集して、ルートルーティングの割り当て先をhelloアクションからgoodbyeアクションに変更します(図 1.24)。

app/controllers/application_controller.rb
class ApplicationController < ActionController::Base

  def hello
    render html: "hola, mundo¡"
  end

  def goodbye
    render html: "goodbye, world!"
  end

end
config/routes.rb
Rails.application.routes.draw do
  root 'application#goodbye'
end

1.5.3 Herokuにデプロイする(2)

1.5.3 - 1

1.3.4.1と同じ変更を行い、本番アプリでも「hola, mundo!」を表示できるようにしてください。

確認のみなので省略

1.5.3 - 2

1.3.4.1と同様、ルートへのルーティングを変更してgoodbyeアクションの結果が表示されるようにしてください。またデプロイ時には、Git pushのmasterをあえて省略し、git push herokuでデプロイできることを確認してみてください。

確認のみなので省略

1.5.4 Herokuコマンド

1.5.4 - 1

heroku helpコマンドを実行し、Herokuコマンドの一覧を表示してみてください。Herokuアプリのログを表示するコマンドはどれですか?

logs

1.5.4 - 2

上の演習で見つけたコマンドを使って、Herokuアプリの最近のログ(log)を調べてみましょう。直近に発生したイベントは何でしたか?(このログを調べるコマンドを覚えておくと、本番環境の不具合を見つけるときに役立ちます)

heroku logs


ちょっと小話

  • 単語を選択するとき、ドラッグしなくても、単語をダブルクリックすると検索できる。
  • Cloud9で行を下にコピーして、その行に移動したいときはcommand+option+down。 複数行を選択もできる。

GitHubにpushするときにエラーが出た

ターミナル
$ git push -u origin master

上のコードを実行した結果…

ターミナル
unable to access 'https://github/moutoon/hello_app.git/': Could not resolve host: git hub

[ 翻訳 ]
'https://github/moutoon/hello_app.git/' にアクセスできません。ホストを解決できませんでした: git hub

原因はプロキシサーバを経由してGitHubへ接続しているらしい。
色々調べてみましたが解決できず、httpsからsshに変更することにしました。

  • 新しいSSH Keyを作成
  • GitHubアカウントにSSH Keyを登録
  • Gitのリモートリポジトリをhttpsに設定しているのでsshに変更

無事解決!

参考にしたサイト・記事

おわりに

はじめて学習の記録をQiitaで書いてみましたが、めちゃくちゃ難しいなぁと実感しました。

  • どうしたら読みやすいか
  • 何を伝えたいのか
  • 効果的な見出しやマークダウン記法は何か
  • お硬い文章になるのでもう少しユーモアを入れたい

いろいろ考えながら文章を書くと大変ですが、完璧でなくても書ききった自分を褒めてあげたいと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0