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

# はじめに
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!」と表示されるようにしてみましょう。

```ruby: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キーを押します。この文字をコピーして自分のエディタに貼り付ける方が早いかもしれません。

```ruby:app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
  
  def hello
    render html: "hola, mundo¡"
  end
  
end
```
###1.3.4 - 3
リスト 1.9のhelloアクションを参考にして、２つ目のアクションgoodbyeを追加しましょう。このアクションは、「goodbye, world!」というテキストを表示します。リスト 1.11のルーティングを編集して、ルートルーティングの割り当て先をhelloアクションからgoodbyeアクションに変更します（図 1.24）。

```ruby: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`

<br>
#ちょっと小話
* 単語を選択するとき、ドラッグしなくても、単語をダブルクリックすると検索できる。
* 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に変更

無事解決！



#参考にしたサイト・記事
* [お前らのSSH Keysの作り方は間違っている](https://qiita.com/suthio/items/2760e4cff0e185fe2db9)
* [githubから httpsでcloneしてしまったリポジトリの originを sshに変更する](https://www.walbrix.com/jp/blog/2013-11-github-https-ssh.html)
* [Qiitaで良い記事を書く技術](https://qiita.com/t12u/items/8c28484100dfd3a6351b#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB)

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

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

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