【发布时间】:2015-11-22 05:08:31
【问题描述】:
Hartl's Railstutorial 的第 11 章已经完成了一半,它展示了如何将微博提要添加到主页。它通过代码做到这一点:
@feed_items = current_user.feed.paginate(page: params[:page])
其中 feed 是方法
def feed
Micropost.where("user_id = ?", id)
end
现在在主页上,假设微博提要是您的部分内容:
<% if @feed_items.any? %>
<ol class="microposts">
<%= render @feed_items %>
</ol>
<%= will_paginate @feed_items %>
<% end %>
现在教程在首页提到,如果你提交一个无效的微博,它会崩溃:
“在微博提交失败时,主页需要一个@feed_items 实例变量,因此失败的提交当前会中断。”
我不明白为什么会中断。 @feed_items 不应该包含数据库中所有其他有效的微博吗?所以即使你提交了一个无效的帖子,@feed_items 也会被之前的有效微博填充?我不明白无效的微博如何影响@feed_items,尤其是因为@feed_items 从数据库中提取微博,由于提交的微博上存在验证,因此该数据库仅包含有效的微博。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2 railstutorial.org