使用 form_for 同时创建两条记录



我有两个不同的模型,称为违规和锁定。这些属于我的用户模型,以及用户has_one锁定和many违规。

管理员可以在用户上创建锁定,也可以给予他们违规,

但是对于严重的违规行为,有必要给予违规并同时对用户进行锁定。

为了使管理员不必单击多个表单,我想我可以将所有内容汇总到一个表单中:同时在同一用户上构建违规和锁定,但我不确定该怎么做。我正在考虑使用form_for块来做到这一点,然后我意识到它只能接受一个对象。

有没有人知道我如何解决这个问题?

签出fields_for助手,然后accepts_nested_attributes_for。两者的结合将满足您的需求。

例:

<%= form_for @person do |person_form| %>
  ...
  <%= person_form.fields_for :address do |address_fields| %>
    ...
    Delete: <%= address_fields.check_box :_destroy %>
  <% end %>
  ...
<% end %>

你的人员类是这样的:

class Person < ActiveRecord::Base
  has_one :address
  accepts_nested_attributes_for :address
end

相关内容

最新更新