読者です 読者をやめる 読者になる 読者になる

ponkiti's blog

主に自分用、イベント参加メモや備忘録として利用

Railsチュートリアル 9章「9.3.1 ユーザーインデックス」で引っかかった箇所について

Ruby Rails Tutorial

エラー(1)

9.3.1 ユーザーインデックスの最後のテストを実行すると、67 examples, 45 failuresとかなりのエラーが発生。

[vagrant@localhost first_app]$ bundle exec rspec spec/
..................FFFFFFFFFFFFFF.F...FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Failures:

1) Authentication signin page
Failure/Error: before { visit signin_path }
ActionView::Template::Error:
Undefined variable: "$grayLighter".
(in /home/vagrant/rails_projects/first_app/app/assets/stylesheets/custom.css.scss:125)
# ./app/assets/stylesheets/custom.css.scss:125
# ./app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__3241731177217114664_69995784417680'
# ./spec/requests/authentication_pages_spec.rb:8:in `block (3 levels) in <top (required)>'

(省略)

Finished in 24.4 seconds (files took 1.6 seconds to load)
67 examples, 45 failures

Failed examples:

rspec ./spec/requests/authentication_pages_spec.rb:10 # Authentication signin page
(省略)

Undefined variable: "$grayLight".とあるので、どうやら変数が未定義らしい。

f:id:pyoonn:20150116011410p:plain

bootstrap2から3へのバージョンアップにより変数も変更されている模様。

$ bundle list | grep boot*
bootstrap-sass (3.3.1.0)

リスト9.25app/assets/stylesheets/custom.css.scssは下記のように変数を変更した。

修正前 修正後
$grayLight $gray-light
$grayLighter $gray-lighter
$grayDarker $gray-darker

エラー(2)

ぐっっっとエラーが減ったが、まだ3つ残っている。

[vagrant@localhost first_app]$ bundle exec rspec spec/
..............................................FFF..................

Failures:

1) User pages index
Failure/Error: visit users_path
ActionView::Template::Error:
wrong number of arguments (2 for 1)
# ./app/helpers/users_helper.rb:4:in `gravatar_for'
# ./app/views/users/index.html.erb:7:in `block in _app_views_users_index_html_erb__2530831136725654681_70088240176620'
# ./app/views/users/index.html.erb:5:in `_app_views_users_index_html_erb__2530831136725654681_70088240176620'
# ./spec/requests/user_pages_spec.rb:12:in `block (3 levels) in <top (required)>'

(省略)

Finished in 2.27 seconds (files took 1.83 seconds to load)
67 examples, 3 failures

Failed examples:

rspec ./spec/requests/user_pages_spec.rb:15 # User pages index
rspec ./spec/requests/user_pages_spec.rb:16 # User pages index
rspec ./spec/requests/user_pages_spec.rb:18 # User pages index should list each user

リスト9.24app/views/users/index.html.erbは下記のように修正した。

修正前 修正後
<%= gravatar_for user, size: 52 %> <%= gravatar_for user %>

これでエラーは0に。しかし画面レイアウトは崩れたまま・・・。

f:id:pyoonn:20150116013715p:plain

参照