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

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

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

   


3.5章は演習です。3問でています。最初の問題をやります。

1.サンプルアプリケーションにContact (問い合わせ先) ページを作成してください。リスト3.19に従い、最初に、タイトルが “Ruby on Rails Tutorial Sample App | Contact” となっているかどうかを確認するテストを作成し、それによってURLが/static_pages/contactのページが存在することを確認するテストを作成してください。次に、リスト 3.30の内容をContactページに反映し、これらのテストにパスするようにしてください。(この演習の解答は5.3の説明に含まれています)。

contactのテストコードを作る

spec/requests/static_pages_spec.rbにContactのテストコードを追加します。

require 'spec_helper'

describe "静的ページのテスト" do

  describe "Homeページのテスト" do
 #途中省略、以下追加
  describe "Contactページのテスト" do
    it "コンテンツに'Contact'という文字がある" do 
      visit '/static_pages/contact'
      expect(page).to have_content('Contact')
    end
    it "タイトルに'Contact'という文字がある" do
      visit '/static_pages/contact'
      expect(page).to have_title("Ruby on Rails Tutorial Sample App | Contact")
    end
  end
end


テストを実行する

bundle exec rspec spec/requests/static_pages_spec.rb

1) 静的ページのテスト Contactページのテスト コンテンツに'Contact'という文字がある
Failure/Error: visit '/static_pages/contact'
ActionController::RoutingError:
No route matches [GET] "/static_pages/contact"
# ./spec/requests/static_pages_spec.rb:40:in `block (3 levels) in '

2) 静的ページのテスト Contactページのテスト タイトルに'Contact'という文字がある
Failure/Error: visit '/static_pages/contact'
ActionController::RoutingError:
No route matches [GET] "/static_pages/contact"
# ./spec/requests/static_pages_spec.rb:44:in `block (3 levels) in '

8 examples, 2 failuresになりました。

rails gでContactを作る

本当はrails gではやっちゃダメで、手作業でいっこいっこ追加すべきだったかなと思います。いいんです、やってみたかったので。

rails g controller StaticPages contact --no-test-framework

すると、conflictだと言われましたが、面倒なので強制実行。
その後、
static_pages_controller.rbにはcontactしかなくなったので、home,help,aboutも追加しました。

contactのviewを変更

リスト3.30 Contactページで使用するコンテンツのコード。
app/views/static_pages/contact.html.erb
としてチュートリアルに答えがかいてあります。

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

テストを実行する

bundle exec rspec spec/requests/static_pages_spec.rb

8 examples, 0 failuresでした。

2もんめは次やります。
commitしておきます。

 - テクニカル ,

Message

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

  関連記事

no image
Gitをインストールする

Rails開発がしたいのですが、今後必要になるでしょうからGitをインストールし …

初めてのRuby2章「配列とハッシュ」

Railsだってgemの一種!ってことで、Rubyの文法からちゃんとやりたいです …

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

11.2フォローしているユーザー用のWebインターフェイス、です。 モデルができ …

Google Webfont使ってみたよ

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

no image
iPhoneの月請求は8円のみです。

昨年11月に、e-mobileからiPhoneにMNPしました。 ちょうど、乗り …

パーフェクトRuby 3章制御構造/メソッド/組み込み関数 3-1演算子

パーフェクトRuby2章の後は6章をやろうと思っていましたが、やっぱり順番にやっ …

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

11.3ステータスフィード、です。 11.3.1動機と計画、です。 仕様 mic …

ブログをアプリを使ってiPhoneから更新

この前の投稿と、前の前の投稿はiphoneから行いました。ノートPCだとブログ投 …

no image
RailsTutorial4.0を高速で復習する。5.6章。演習2問目のつづき。

5.6章。演習2問目です。TDDにこだわり、あえてこの問題をするまで、ヘッダーや …

no image
恐ろしや、WordPressのDBパスワードは平文でおいてある

先ほどサーバーのDBをいじっていてですね、、久々だったのでDBパスワード忘れてし …