遍历表格后,rails显示完整表格的数组[重复]

Posted

技术标签:

【中文标题】遍历表格后,rails显示完整表格的数组[重复]【英文标题】:After looping through table, rails displays an array of complete table [duplicate] 【发布时间】:2015-07-28 08:34:15 【问题描述】:

我正在尝试用 Ruby on rails 创建一个博客,我想在我的视图中显示 posts 表。就像我的美貌一样简单,有些事情会失败。在遍历整个表并将记录呈现到我的视图之后,它还会将一个包含完整表的数组呈现到我的视图中。

创建这个视图的代码是这样的:

<%= @posts.each do |post| %>
    <div class="post_wrapper"> 
        <h1 class="title">
          <%= post.title %>
        </h1>

        <p class="date">
          Submitted <%= time_ago_in_words(post.created_at) %> Ago
        </p>

        <p class="body">
          <%= post.body %>
        </p>
    </div>
    <p style="color:red; font-size:1.5em;">the array is added after the div</p>
<%end%>
<p style="color:red; font-size:1.5em;">but still inside the loop</p>
<br />
<%= link_to "New post", new_post_path %>

【问题讨论】:

【参考方案1】:

第一行应该只是&lt;% 而不是&lt;%=

使用&lt;%= 将内部的任何内容呈现到 html 中。对于.each,您不需要渲染您正在使用的对象,因此&lt;% 可以正常工作。

简单的语法错误:)

【讨论】:

确实解决了,谢谢!【参考方案2】:
<%= @posts.each do |post| %>
   ...
<%end%>

这是因为&lt;%=符号,你必须使用&lt;%来代替,

<% @posts.each do |post| %>
   ...
<%end%>

因为 each 返回调用它的数组,而您使用 &lt;%= 符号将运行 Ruby 代码并显示它,这就是为什么最后有调用 each 的数组的原因

【讨论】:

确实解决了,谢谢!【参考方案3】:

你需要改变这一行

<%= @posts.each do |post| %>

<% @posts.each do |post| %>

【讨论】:

确实解决了,谢谢!【参考方案4】:

尝试更改此代码:

<%= @posts.each do |post| %>

进入这个:

<% @posts.each do |post| %>

这个&lt;% @posts 符号表示你想一起显示实例变量,但你只想评估它。

【讨论】:

确实解决了,谢谢!

以上是关于遍历表格后,rails显示完整表格的数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

jquery如何去掉下拉框中重复的值

js如何在表格风显示结果

JavaScript 之 普通数组对象数组的去重(涉及多个场景)

JavaScript 之 普通数组对象数组的去重(涉及多个场景)

html中打印table时内容过多导致分页后表格边框不完整?

原生JS我打算在把数据存在缓存数组中,再从数组中取出数据在另一个页面取出做表格,怎么不重复添加?