心はいつも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
ヘルパーメソッドを自作する

便利なrailsのヘルパーメソッド。自分でも作れます。 作るときは、 アプリのd …

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

3.3.2タイトルのテストをパスさせる。です。 ひとまず、静的ページをhtmlの …

twitterと連携した写真のライブラリー

iPhoneを使うようになってから気軽に写真撮影し、そのままtwitter投稿す …

もうあかん!Mac OSXのスクロールを逆にする

OSXのいつのバージョンからだっけ? スクロールの向きが突如逆になったんですよね …

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

3.2章は最初のテストです。 Railsチュートリアルは、アプリケーションの振る …

no image
Vaio Pよりも軽く感じる?MacBookAirとお出かけ

Vaoi Pを手放し、iPadも手放し、UQ Wimaxは解約し、DellのWi …

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

11.2.4[フォローする] ボタン (標準的な方法)、です。 仕様 それぞれの …

no image
RailsTutorial4.0を高速で復習する。5.6章。演習3問目。

5章最後の演習、3問目です。 リスト5.38に示すように、元のヘルパーメソッドに …

no image
RailsTutorial4.0を高速で復習する。終わりました。

作りたいサービスがあってコーディング開始していたのですが、もう1回振り返り学習し …

no image
accepts_nested_attributes_for

everydayRailsやっていて、 phoneモデルのテストのところで ac …