have_content の範囲を狭めたほうがより意図が明らかになって良いと思います