显示新记录new:创建时的id,然后是true:编辑时的id

时间:2016-01-28 01:25:11

标签: ruby-on-rails simple-form

我有一个simple_form,它显示了使用此<%= (Invoice.last.id + 1) %>创建表单时的id:但当我点击编辑并再次渲染表单时,我希望得到类似这样的内容{{1} if语句会在这里成为一个好的解决方案吗?

1 个答案:

答案 0 :(得分:2)

假设新发票ID为Invoice.last.id + 1并不好。如果您的网站同时拥有多个用户,则无法预测哪个用户将首先保存其发票。因此,无论您提供哪种发票ID,至少有时会出错。

最好不要显示尚未创建的发票的ID,例如:

<% unless @invoice.new_record? %>
  Invoice ID: <%= @invoice.id %>
<% end %>

或显示占位符,例如:

Invoice ID: <%= @invoice.new_record? ? 'New Invoice' : @invoice.id %>