Railsチュートリアル 学習記録(1.3.4)
Railsチュートリアルを進めていく、学習の記録として残しておく。(無料の過去版テキストを使用しています。Rails 5.1対応 ※記事では、rails7で実装しています。)
※回答は、2023年8月29日現在のものです。
演習問題
- リスト 1.12のhelloアクションを書き換え、「hello, world!」の代わりに「hola, mundo!」と表示されるようにしてみましょう。
app/controllers/application.rbの記述を下記のように書き換える。
app/controllers/application.rb
class ApplicationController < ActionController::Base def hello render html: "hello, world!" #変更前 ↓ render html: "hola, mundo!" #変更後 end end
- Railsでは「非ASCII文字」もサポートされています。「¡Hola, mundo!」にはスペイン語特有の逆さ感嘆符「¡」が含まれています(図 1.24)26 。「¡」文字をMacで入力するには、Optionキーを押しながら1キーを押します。この文字をコピーして自分のエディタに貼り付ける方が早いかもしれません。
app/controllers/application.rbの記述を下記のように書き換える。
app/controllers/application.rb
class ApplicationController < ActionController::Base def hello render html: "hola, mundo!" #変更前 ↓ render html: "¡Hola, mundo!" #変更後 end end
- リスト 1.12のhelloアクションを参考にして、2つ目のアクションgoodbyeを追加しましょう。このアクションは、「goodbye, world!」というテキストを表示します。リスト 1.14のルーティングを編集して、ルートルーティングの割り当て先をhelloアクションからgoodbyeアクションに変更します(図 1.25)。
ルーティングをgoodbyeアクションがrootになるように設定。
config/routes.rb
Rails.application.routes.draw do root "application#goodbye" end
applicationコントローラにgoodbyeアクションの追加。
app/controllers/application.rb
class ApplicationController < ActionController::Base : def goodbye render html: "goodbye, world!" end end
以上。
参考