心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

RailsTutorial4.0を高速で復習する。4.1章の途中から。

   


さて、4.1章の途中にある、変だなと思っている箇所、

リスト4.4 Homeページのタイトル確認用にテストを更新する。
リスト4.5 ページタイトルをカスタマイズせずに表示するHomeページ。

です。

これは、
リスト4.4で、
it “should not have a custom page title”
というテストケースを追加しています。理由は、自作ヘルパーメソッドfull_titleで、
カスタマイズしたページの場合、:titleが空であることを書いているからです。その場合に対応したテストケースを書いています。

なので実行すると当然エラーです。だってカスタマイズしたページは今ないですから。

なので、わざわざリスト4.5で、homeページのprovide(:title, ‘Home’)を削除し、カスタマイズページにして、テストを通しています。

homeのタイトルから”|HOME”を削除するって、変ですよね??

、、、

と思っていましたが、今気づきました。Homeページは最終的にこのサービスのトップページになります。だから、|Homeは無くていいんです。サブページじゃないので。

あーすっきりした。
というわけでリスト4.4と4.5を実行します。

カスタマイズしたページのテストを書く

リスト4.4 Homeページのタイトル確認用にテストを更新する。Homeのタイトルはbaseタイトルだけになるので、タイトルのテストを書き換え、追加します。
spec/requests/static_pages_spec.rb

require 'spec_helper'

describe "静的ページのテスト" do
  let(:base_title) { "Ruby on Rails Tutorial Sample App" }

  describe "Homeページのテスト" do
    it "コンテンツに'Twili'という文字がある" do
      visit '/static_pages/home'
      expect(page).to have_content('Twili')
    end
    it "トップページのタイトル(サブタイトルがない)" do
      visit '/static_pages/home'
      expect(page).to have_title("#{base_title} ")
    end 
    it "カスタマイズしたページのタイトル(タイトルにHomeがない)" do
      visit '/static_pages/home'
      expect(page).not_to have_title('| Home')
    end  
  end
以下略

試験を実行すると、

bundle exec rspec spec/requests/static_pages_spec.rb

1) 静的ページのテスト Homeページのテスト カスタマイズしたページのタイトル(タイトルにHomeがない)
Failure/Error: expect(page).not_to have_title(‘| Home’)
expected #has_title?(“| Home”) to return false, got true

エラーになります。

Homeページをカスタマイズしてしまう

ゆくゆくはHomeページはトップページになるので、タイトルに|Homeいりません。なので削除します。他の静的ページにこの変更を加えていないのがミソですね。

リスト4.5 ページタイトルをカスタマイズせずに表示するHomeページ。
app/views/static_pages/home.html.erb

<h1>Twiliサービスへようこそ</h1>
<p>
This is the home page for the
  <a href="http://railstutorial.jp/">Ruby on Rails Tutorial</a>
sample application.
</p>

<% provide(:title, 'Home') %>を削除しました。
試験を実行すると、

bundle exec rspec spec/requests/static_pages_spec.rb

9 examples, 0 failuresで成功しました。

ここでいったんcommitしておきます。
つぎは、4.2文字列(string)とメソッド、です。

 - テクニカル ,

Message

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

  関連記事

no image
テンプレとヘルパーの順番

http://yourdomain/actionxを呼んだときのactionx用 …

no image
formatはどこから取ってくる?

ruby on rails3プリケーションプログラミングの本の内容をruby2. …

Google Webfont使ってみたよ

地元に戻ってきてまず思ったのは「観光サイトを立ち上げたい」ということ。いや、観光 …

RailsTutorial4.0を高速で復習する。5章。

さてRailsTutorial4.0も5章に入ります。まだ序の口です。5章ではb …

WordPressの管理画面真っ白問題に対処しました

WordPressの自作テンプレを作ったはいいものの、管理画面が真っ白になって投 …

Rubyの聖地、松江でRailsGirls Matsueに参加しました

旧暦神在月にRubyイベントに参加したい!と思ったところ、狙ったようにRubyW …

no image
destory

ruby on rails3プリケーションプログラミングの本の内容をruby2. …

no image
RailsTutorial4.0を高速で復習する。6.2.3章。

6.2.3長さを検証する、です。空データを拒否した次は、入力できるデータ長の制限 …

MicrosoftのFutureVision 2019 vs 2011 vs 2010

Wiredで取り上げられたので、今日はMSのFutureVisionが話題でした …

HerokuにRailsアプリをdeployする

Railsプロジェクトというよりも、Railsアプリっていうほうが正んでしょうか …