発生した章
13.2.3 プロフィール画面のマイクロポストをテストするにて、リスト 13.27: ユーザーと関連付けされたマイクロポストのfixtureの内容を修正したら、テストでエラーが出るようになった。
発生したエラー内容
ERROR["test_should_redirect_edit_when_not_logged_in", UsersControllerTest, 3.9885445390827954] test_should_redirect_edit_when_not_logged_in#UsersControllerTest (3.99s) ActiveRecord::Fixture::FormatError: ActiveRecord::Fixture::FormatError: a YAML error occurred parsing /home/ubuntu/workspace/sample_app/test/fixtures/microposts.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Please have a look at http://www.yaml.org/faq.html The exact error was: Psych::SyntaxError: (<unknown>): could not find expected ':' while scanning a simple key at line 24 column 1
原因
ymlファイル内の属性に:がないため。
今回の原因
micropost_<%= n %>
に、:がついていない
<% 30.times do |n| %> micropost_<%= n %> content: <%= Faker::Lorem.sentence(5) %> created_at: <%= 42.days.ago %> user: michael <% end %>
修正方法
micropost_<%= n %>
に、:をつける
<% 30.times do |n| %> micropost_<%= n %>:
無事にエラーが解決しました。