我有一个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 %>