0

我正在使用 gem prawn 生成 PDF。我想使用该 gem 创建表,因此我make_cell将从该 gem 中使用,如下所示:

  make_cell(
    content: "#{cash_transaction[:transaction_date]}
              \n#{cash_transaction[:creation_date]}
              \n#{cash_transaction[:deletion_date]}"
  )

问题是什么时候deletion_date(cash_transaction)它会打印我们creation_date和空行(来自\n#{cash_transaction[:deletion_date]}. 如何以比下面更优雅的方式防止这种情况:

  if cash_transaction[:deletion_date]
    make_cell(
      content: "#{cash_transaction[:transaction_date]}
                \n#{cash_transaction[:creation_date]}
                \n#{cash_transaction[:deletion_date]}"
    )
  else
    make_cell(
      content: "#{cash_transaction[:transaction_date]}
                \n#{cash_transaction[:creation_date]}"
    )
  end
4

2 回答 2

1

我建议您将字符串构建为然后将其传递给make_cell

content = "#{cash_transaction[:transaction_date]}
           \n#{cash_transaction[:creation_date]}"

content << "\n#{cash_transaction[:deletion_date]} if cash_transaction[:deletion_date]

make_cell(content: content)
于 2021-02-04T09:00:45.717 回答
0

这个怎么样:

deletion = cash_transaction[:deletion_date]
deletion = deletion ? "\n#{deletion}" : ''

make_cell(
  content: "#{cash_transaction[:transaction_date]}
            \n#{cash_transaction[:creation_date]}
            #{deletion}"
)
于 2021-02-04T08:58:36.437 回答