ruby-on-rails - 遍历子数组以检查日期

标签 ruby-on-rails ruby ruby-on-rails-4

我有一个包含多组日期值的员工数据库。目前我以这种格式输出这些数据:

<% @trainings.each do |training| %>
  <tr>
    <td><%= training.birthday %></td>
    <td><%= training.comp_cert %></td>
    <td><%= training.cdl %></td>
    <td><%= training.forklift %></td>
  </tr>
<% end %>

我想在每个循环中遍历这些日期并检查日期

Time.now + 30.days

但我遇到了一些问题。我试过这个:

<% @trainings.each do |training| %>
  <% training.each do |t| %>
    <% if t < Time.now + 30.days %>
      <tr class="warning">
    <% else %>
      <tr class="success">
    <% end %>
  <% end %>

  <!-- Table Data Here -->

<% end %>

但它告诉我在训练中没有调用 each 的方法。有没有比手动检查每个单独的键更有效的方法?

最佳答案

您不能迭代单个对象。您只能在集合上使用迭代器模式。对于初学者,我建议采用以下方法:)

<% @trainings.each do |training| %>
  <% %w{birthday comp_cert cdl forklift}.each do |field_name| %>
    <% if training[field_name] < Time.now + 30.days %>
      <tr class="warning">
    <% else %>
      <tr class="success">
    <% end %>
  <% end %>

  <!-- Table Data Here -->

<% end %>

关于ruby-on-rails - 遍历子数组以检查日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24001931/

相关文章:

ruby-on-rails - 该 bundle 目前的 rails 锁定在 3.2.12。怎么办?

ruby-on-rails - 使用 Rails 从 IP 存储 session 地理定位结果的最佳方法是什么?

ruby - 自定义 ruby​​ .new 运算符

javascript - Angular ng-token-auth,发布到错误的本地主机

html - 使用 UIKit 的 Rails 登录表单

ruby-on-rails - 从集合 ActiveRecord 对象中获取特定列?

javascript - 在 Rails 中渲染部分内容时加载 javascript 文件

ruby-on-rails - 参数不会传入子类

javascript - 如何强制 Showoff 不向 .content div 添加 margin-top

ruby-on-rails-4 - 生产中的 Rails 4 .scss 未从供应商/样式表导入 .css