Rails 4.2

时间:2016-02-28 05:34:16

标签: ruby-on-rails

我想在我的观点中做一些条件格式化。

请查找示例图像以供参考。

sample.jpg

"现金"它工作正常,但我想这样做是为了#34;收到现金","信用票据"等等..

index.html.erb

<div class="container-fluid">

  <% balance = 0 %>

  <div class="table-responsive myTable">

    <table class="table listing text-center">
      <tr class="tr-head">
        <td>Date</td>
        <td>Description</td>
        <td>Amount</td>
        <td>Discount</td>
        <td>Paid</td>
        <td>Balance</td>
      </tr>

      <tr>
        <td></td>
      </tr>

      <% @statements.each do |statement| %>

      <tr class="tr-<%= cycle('odd', 'even') %>">

        <td class="col-1"><%= statement.date %></td>

         <% color = (statement.description == "cash") ? "neg" : "pos" %>

        <td class="col-3 <%= color %>"><%= statement.description %></td>

        <td class="col-1"><%= number_with_precision(statement.amount, :delimiter => ",", :precision => 2) %></td>

        <td class="col-1 neg"><%= number_with_precision(statement.discount, :delimiter => ",", :precision => 2) %></td>

        <td class="col-1 neg"><%= number_with_precision(statement.paid, :delimiter => ",", :precision => 2) %></td>


        <% balance += statement.amount.to_f - statement.discount.to_f - statement.paid.to_f %>

        <% color = balance >= 0 ? "pos" : "neg" %>

        <td class="col-1 <%= color %>"><%= number_with_precision(balance.abs, :delimiter => ",", :precision => 2) %></td>

      </tr>

      <% end %>

    </table>
  </div>
</div>

1 个答案:

答案 0 :(得分:0)

Hai You仅针对cash采取了这一条件,因此只有它给出红色,用此替换index.html.erb

<div class="container-fluid">

  <% balance = 0 %>

  <div class="table-responsive myTable">

    <table class="table listing text-center">
      <tr class="tr-head">
        <td>Date</td>
        <td>Description</td>
        <td>Amount</td>
        <td>Discount</td>
        <td>Paid</td>
        <td>Balance</td>
      </tr>

      <tr>
        <td></td>
      </tr>

      <% @statements.each do |statement| %>

      <tr class="tr-<%= cycle('odd', 'even') %>">

        <td class="col-1"><%= statement.date %></td>

         <% color = (statement.description == "cash" || statement.description == "cash received" || statement.description == "credit note") ? "neg" : "pos" %>

        <td class="col-3 <%= color %>"><%= statement.description %></td>

        <td class="col-1"><%= number_with_precision(statement.amount, :delimiter => ",", :precision => 2) %></td>

        <td class="col-1 neg"><%= number_with_precision(statement.discount, :delimiter => ",", :precision => 2) %></td>

        <td class="col-1 neg"><%= number_with_precision(statement.paid, :delimiter => ",", :precision => 2) %></td>


        <% balance += statement.amount.to_f - statement.discount.to_f - statement.paid.to_f %>

        <% color = balance >= 0 ? "pos" : "neg" %>

        <td class="col-1 <%= color %>"><%= number_with_precision(balance.abs, :delimiter => ",", :precision => 2) %></td>

      </tr>

      <% end %>

    </table>
  </div>
</div>

就是这样。