我使用rails 4.2,我发现了一个奇怪的问题:
@tweet = current_user.tweets.new
@tweets = current_user.tweets
当我在视图中循环时:
<%= render @tweets %>
我得到一个带有空id的额外记录。
示例:
答案 0 :(得分:3)
您自己在控制器中构建了这个空Tweet
:
@tweet = current_user.tweets.new
@tweets = current_user.tweets
有几种方法可以避免这个问题。您可以在不将其添加到@tweets
数组的情况下构建新推文:
@tweet = Tweet.new(user: current_user)
@tweets = current_user.tweets
或者您可以更改您的,以排除尚未保存到数据库的tweets
:
<%= render @tweets.select(&:persistent?) %>