心はいつも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
「Follow me」バッジのつけ方。

ブログの横についている「Follow me」バッジ。いろんな方がつけているのを見 …

no image
MavericksアップデートしRuby2.0+Rails4.0.2にversion upする

何を今さら感ですが、MacはAirとMiniの2台持ちです。Airのほうを人柱と …

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

仕様の探求 userモデルには、登録と認証、承認に必要なモデルは既に作ってありま …

パーフェクトRuby 2章Rubyの基礎 2-6 モジュール

p57 2-6 モジュール 2-6-1モジュールの定義式 モジュールはインスタン …

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

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

実機なしでRetina 3.5インチのスクリーンショットを撮る

iPhoneアプリ公開時に2種類の画像登録が必要です。 1つ目はアイコン。アプリ …

no image
iPad2発表

新しいiPad2がAppleより発表されました。動作は速くHDMIをサポートし、 …

Provisioning fileが作成できない!

iPhoneアプリを公開するために、itunes connectでProvisi …

no image
RailsGirlsMore!でRailsTutorialのキモチワルイところがスッキリしました

RailsGirls松江からのぉ〜東京More!*既に2回目から1ヶ月半。またま …

吉瀬美智子さんが美しすぎて、新サイト作りました

以前からやりたいと思っていたのですが、吉瀬美智子さんが美しすぎてやる気がでました …