【发布时间】:2015-04-27 00:38:11
【问题描述】:
我无法在 Rails 中显示我的数据库中的信息。我可以在一页上显示每一行,但我不能将显示限制为 5 行数据。在我的代码中,Article 是一个带有文本字段和标题字段的模型。我正在使用 rails 4.1.8 和 Ruby 2.1.5。
我正在使用的代码:
<% posts = Article.all.order('created_at DESC'%>
<% posts.find_each(batch_size: 5) do |post| %>
<li>Title: <% post.title %></li>
<li>Date: <% post.created_at.strftime("%d %b. %Y") %></li>
<li>Body: <% post.text %></li>
<% end %>
我从中得到的输出是:
<li>Title: </li>
<li>Date: </li>
<li>Body: </li>
<li>Title: </li>
<li>Date: </li>
<li>Body: </li>
之所以这里有两组,是因为我目前数据库里只有两篇文章,这至少说明这里正在访问数据库,但是使用post.title实际上并没有返回任何文本。
作为教程的一部分,我使用了以下代码:
<% @articles.each do |article| %>
<tr>
<td><%= article.title %></td>
<td><%= article.text %></td>
<td><%= article.created_at.strftime("%d %b. %Y") %></td>
<td><%= link_to 'Show', article_path(article) %></td>
<td><%= link_to 'Edit', edit_article_path(article) %></td>
<td><%= link_to 'Destroy', article_path(article),
method: :delete,
data: { confirm: 'Are you sure?' } %></td>
</tr>
这段代码完全符合我的预期,但它当然会显示数据库中的每一行,这对于大量文章来说会不堪重负。
希望这是一个非常简单的问题,我只是犯了一个明显的错误......这是我第一次使用 Ruby 或 Rails(我这样做是为了学习一个学校项目)。
感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails ruby postgresql