在创建时显示新记录 new :id,然后在编辑时显示其真实 :id



我有一个simple_form,它显示了使用此<%= (Invoice.last.id + 1) %>创建表单时表单的 :id 将是什么,但是当我点击编辑并再次呈现表单时,我想有这样的东西<%= @invoice.id %> if 语句在这里会是一个很好的解决方案吗?

假设新的发票 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 %>

相关内容

  • 没有找到相关文章

最新更新