如何使用rails在列视图中显示“特定”数据?

时间:2013-12-26 18:56:45

标签: ruby-on-rails ruby ruby-on-rails-3

在我的视图中,我有一个包含3列的表(产品名称,POC,日期)。 我有3个日期值(est_delivery_date,actual_receive_date,actual_delivery_date),我只需要 其中1个根据以下逻辑显示在“日期”列中:

我已将以下代码添加到我的projects_helper.rb:

module ProjectsHelper
  def project_date(project)
      if project.actual_delivery_date.present? 
         project.actual_delivery_date
      elsif project.actual_delivery_date.blank? && project.actual_receive_date.present?
         project.actual_receive_date
      else
         project.est_delivery_date
      end
  end
end

在我添加的视图中:

<td><%= project_date(project) %></td>

1 个答案:

答案 0 :(得分:1)

为此使用帮助器。这是一个草图,您应该在app/helpers目录中找到其他助手。

module ProductHelper

  def product_date(product)
    if project.actual_delivery_date.present?
      product.actual_delivery_date
    elsif ...
    ...
  end

end

然后,在视图中,您不是直接使用日期,而是使用product_date(product),而您将获得正确的日期。

相关问题