【问题标题】:HTML Table Tags Pushed Below Data - Rails将 HTML 表格标签推送到数据下方 - Rails
【发布时间】:2015-11-16 01:51:30
【问题描述】:

我认为这将是一项简单的任务:将 <table></table> 标记放在遍历数据的枚举 each 方法周围。代码如下:

<div id="results-panel">
    <table>
        <% @artwork_q.each_with_index do |art, index| %>
            <div class="a-result" id="<%= index %>">
                <%= art.artist.fullname %>
            </div>
        <% end %>
    </table>
</div>

问题&lt;table&gt;&lt;/table&gt;的开始和结束标记都在所有数据都被列出之后结束,而不是像我显然认为的那样围绕数据:

我确实尝试过使用正确的&lt;tr&gt;&lt;td&gt; 标签,但它仍然发生了。这个版本是为了简单和找到真正的问题。非常感谢任何帮助。谢谢。

【问题讨论】:

    标签: html ruby-on-rails html-table each enumerable


    【解决方案1】:

    您的表格缺少TRTD 标签...这就是浏览器将表格标签呈现在您的div 之外的原因。

    以下应该解决它:

    <div id="results-panel">
        <table>
            <tbody>
            <% @artwork_q.each_with_index do |art, index| %>
                <tr><td>
                <div class="a-result" id="<%= index %>">
                    <%= art.artist.fullname %>
                </div>
                </td></tr> 
            <% end %>
            </tbody>
        </table>
    </div>
    

    【讨论】:

    • 谢谢。所以是的,但我的问题是我想在条件 ruby​​ 语句中包围 &lt;tr&gt;,以便每 4 次左右才创建一行。即使我将 &lt;tr&gt; 放在 ruby​​ 语句中:&lt;%= "&lt;tr&gt;" %&gt;,(更不用说条件)它也会将表格标签推到底部。
    • 你可以在&lt;%= "&lt;tr&gt;" if index % 4 == 0 %&gt;这样的条件下使用ruby %(模)运算符(记得关闭它)&lt;%= "&lt;/tr&gt;" if index % 4 == 0 %&gt;
    • 是的,我正在使用它,你是对的。我也认为我的问题是,我没有包含&lt;td&gt; 元素,因为我只是在“测试”,即使我需要它们工作。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-09
    相关资源
    最近更新 更多