【Railsチュートリアル】第1章 演習問題解答

【Railsチュートリアル】第1章 演習問題解答

Railsチュートリアル第1章 演習問題 解答

目次

1.3.2 rails server

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

解答

コマンドラインで[ruby -v]を実行しましょう。
私の環境ではruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]でした。

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

解答

先ほどと同様、コマンドラインで[rails -v]を実行しましょう。
私の環境ではRails 5.1.4でした。

1.3.4 Hello, world!

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

解答

言われた通りやるだけですね。

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

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

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

解答

逆さ感嘆符をつけるだけです。

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

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

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

解答

コントローラとルーティングの2つを変更します。
コントローラにgoodbyeアクションを追加します。

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

ルーティングを変更します。
helloアクションからgoodbyeアクションに変更します。

Rails.application.routes.draw do
  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
  #root 'application#hello'
  root 'application#goodbye'
end

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

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

前問と同じなので省略。
※プログラム変更した時は
git commitしてからgit push herokuをしないと
Everything up-to-dateと表示されてなにも変わらないですよ。

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

解答

同様に省略。
最後にgit push herokuを実行してmasterを省略できることを確認すればOK

1.5.4 Herokuコマンド

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

解答

[heroku help]を実行するとherokuのコマンド一覧が見れます。
[heroku logs]が答え。他のものも目を通しておくといいと思います。

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

解答

[heroku logs]を実行すれば良いです。
一番下が直近のイベントです。
私の場合はState changed from starting to upと表示されていました。

以上。


Railsチュートリアルカテゴリの最新記事