Ruby on Railsチュートリアルの演習問題と解答をまとめる。
第1章 ゼロからデプロイまで - Railsチュートリアル
アウトプットすることで、より自分の理解を深めることを目的としています。 自分なりに調べて考えた回答のため、記載内容に誤りがある場合はコメントいただけると幸いです。
演習1.3.2
問題1
デフォルトのRailsページに表示されているものと比べて、今の自分のコンピュータにあるRubyのバージョンはいくつになっていますか? コマンドラインでruby -vを実行することで簡単に確認できます。
解答
$ ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin18]
rubyのバージョンは 2.5.1
問題2
同様にして、Railsのバージョンも調べてみましょう。調べたバージョンはリスト 1.1でインストールしたバージョンと一致しているでしょうか?
解答
$ rails -v Rails 5.1.6
railsのバージョンは5.1.6なので、リスト1.1でインストールしたバージョンと一致している
演習1.3.4
問題1
リスト 1.7のhelloアクションを書き換え、「hello, world!」の代わりに「hola, mundo!」と表示されるようにしてみましょう。
解答
[app/controllers/application_controller.rb] 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キーを押します。この文字をコピーして自分のエディタに貼り付ける方が早いかもしれません。
解答
[app/controllers/application_controller.rb] 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)。
解答
[app/controllers/application_controller.rb] class ApplicationController < ActionController::Base protect_from_forgery with: :exception 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