##エラー
2行目のpost.user.nameの「name」のメソッドが見当たらない
post.index
ActionView::Template::Error (undefined method `name' for nil:NilClass):
1: <% @posts.each do |post| %>
2: <P><%= link_to(post.user.name, "/users/#{post.user.id}") %></p>
3: <p><%= link_to(post.content, "/posts/#{post.id}") %></p>
4: <% end %>
##原因:postテーブル内の何かしらのレコードがなかった
考えられる原因は2つ
(1)postはpost.controller.rbに定義されていない
(2)データベースのpostモデルに、あるべきレコードがない
前者は、コントローラーで定義されていたので、後者の方に原因があると見立てた。
##解決策:DBの全てのレコードを空にした
rake db:reset
全てのテーブルを dropして、"db/schema.rb" を元にテーブルを再作成する。(参考記事:http://o.inchiki.jp/obbr/183)
##メモ
DBの全てのレコードを空にした後、改めて、post.createしたら無事にpost.indexに反映された。
今回のエラーの原因は、
データベースのレコードと、ユーザー登録されているユーザーのレコードがミスマッチしていたこととだと思った。開発途中で、DBのusersモデルにカラムを追加したり、消去していたことで、ズレが生じていたかも。