假设我有一个periodic_review 资源。我需要的是,当用户进入新的periodic_review 表单时,表单字段将填充最后一个periodic_review 字段,日期字段除外。(想象一下,从一个daily_review 到另一个,这些字段不会有太大变化)。我在控制器上有这个:
def new
@periodic_review = PeriodicReview.where(user_id: @user_id).order("revision DESC").first
@periodic_review.date = nil
end
这在观点上:
<%= form_for(@periodic_review) do |f| %> ...
现在的问题是,因为 form_for 获得了一个非空的@periodic_review,它会生成一个更新表单而不是创建表单,从而在提交时将用户发送到更新。我试过了:
@periodic_review.id = nil
低于日期 = nil,但它崩溃了。
如果表单不使用 id 字段,它如何知道它是更新还是创建?