Railsチュートリアル 学習記録(1.3.4)

Railsチュートリアルを進めていく、学習の記録として残しておく。(無料の過去版テキストを使用しています。Rails 5.1対応 ※記事では、rails7で実装しています。)

※回答は、2023年8月29日現在のものです。

演習問題

  1. リスト 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
  1. 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. リスト 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

以上。

参考

第1章 ゼロからデプロイまで - Railsチュートリアル