なぜ私のルビーは.eachの列挙型は、オブジェクトの配列が空の場合は空のdivを生成していますか、またはオブジェクトが1つある場合は空のdivを追加しています。@posts変数。ここで空のdivは、HTML.erbページのルービー.each列挙型で表示されます。
は私のindex.html.erbページです:
<div id="post_feed">
<%if @posts.any?%>
<%@posts.each do |p|%>
<div class="post_text_box">
<%=p.body%>
</div>
<%end%>
<%end%>
</div>
ポストコントローラー:
def index
@posts = current_user.posts
@new_post = current_user.posts.new
end
CSS:
#post_feed{
margin-right:auto;
margin-left:auto;
width:400px;
}
.post_text_box{
padding:10px;
margin:10px;
background-color:#FFFFFF;
}
レールコンソールが1つのアイテムを示します。それはまだ保存されていないにもかかわらず
irb(main):014:0> Post.count
(1.3ms) SELECT COUNT(*) FROM "posts"
=> 1
Here is an image of the empty div.
ありがとう、Joseph。あなたのやり方は、私が作った混乱よりもずっときれいです。 – user1730335