少しだけ動的なページ | rails チュートリアル 7

少しだけ動的なページの勉強メモです。

目標

目標は、Homeページ、Helpページ、Aboutページをそれぞれ編集し、最終的にページごとに異なるタイトルを表示すること。

titleタグは、いわゆるSEO (Search Engine Optimization: 検索エンジン最適化) においても重要な役割を果たす。

application.html.erbのtitleタグを

<%= yield(:title) %> | Ruby on Rails Tutorial Sample App

about.html.erb、help.html.erb、home.html.erbの1行目にそれぞれ、

<% provide(:title, "About") %>
<% provide(:title, "About") %>
<% provide(:title, "About") %>

これらを追記する。

<%= yield %>タグ

yieldは、各ページの内容をレイアウトに挿入するためのものです。

レイアウトを使う際に、/static_pages/homeなどにアクセスするとhome.html.erbの内容がHTMLに変換され、<%= yield %>タグの位置に挿入される、ということだけ理解しておけば問題

contactページを増やす

contact.html.erbの作成

$ touch app/views/static_pages/contact.html.erb

contact.html.erbの内容

<% provide(:title, "Contact") %>
<h1>Contact</h1>
<p>
  Contact the Ruby on Rails Tutorial about the sample app at the
  <a href="http://railstutorial.jp/contact">contact page</a>.
</p>

routes.rb

Rails.application.routes.draw do
  get 'static_pages/home'
  get 'static_pages/help'
  get 'static_pages/about'
  get 'static_pages/contact'

  resources :microposts
  resources :users
  root 'top#index'
end

static_pages_controller.rb

class StaticPagesController < ApplicationController
  def home
  end

  def help
  end

  def about
  end

  def contact
  end
end

herokuにpush

$ git push heroku master
$ heroku open

herokuでもちゃんと動くことを確認します。

ページ作成完了

http://0.0.0.0:3000/static_pages/contactのURLが表示できれば、うまく行ったことにします。

次回は、第4章 Rails風味のRubyから。

コメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。


  1. KATOON.NET
  2. TRASH
  3. 少しだけ動的なページ | rails チュートリアル 7