【问题标题】:Thead and tbody in same ruby (slim) .each cycleThead 和 tbody 在同一个红宝石(苗条)。每个周期
【发布时间】:2016-02-28 21:07:38
【问题描述】:

有人能帮我用一种更简单/更优雅的方式在 .erb 文件中编写表格吗?

我目前有这个:

table id="example-datatable"
      thead
        tr
          - Risk.column_names.each do |c|
            th
              = c.camelize

      tbody
        - @risks.each do |risk|
          tr
            td
              = risk.exposition
            td
              = risk.frequency
            td
              = risk.risk

是否可以使用一个循环而仍然保持表头和表体分开?

【问题讨论】:

  • 一个.each 正在迭代列名,而另一个正在迭代行数据。很难想象你会如何将它组合成一个.each。你所拥有的对我来说看起来非常简单。没有什么比一个能准确说明其功能的循环更优雅了。
  • 你所要求的实际上比你现在拥有的要复杂得多。
  • 没错,你们是对的,我只是想确认一下,我还在学习,我一直很好奇这是否可以更短。感谢您的时间! ;)

标签: html ruby-on-rails ruby each slim-lang


【解决方案1】:

根据我在问题中看到的内容,我假设需要以下 3 个基本列:

  • 博览会
  • 频率
  • 风险

如果这些是唯一的列并且这将是静态的,那么您可以做的一件事是硬编码表的 thead 部分,然后遍历您的记录以填充 tbody,如下所示:

table id="example-datatable"
  thead
    tr
      th Exposition
      th Frequency
      th Risk
      th

  tbody
    - @risks.each do |risk|
      tr
        td
          = risk.exposition
        td
          = risk.frequency
        td
          = risk.risk

这应该会为你解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2019-05-16
    • 2019-03-18
    • 1970-01-01
    相关资源
    最近更新 更多