Ruby on rails 使用form_for同时创建两条记录

Ruby on rails 使用form_for同时创建两条记录,ruby-on-rails,ruby-on-rails-4,form-for,Ruby On Rails,Ruby On Rails 4,Form For,我有两种不同的模型,叫做违规和锁定。这些属于我的用户模型,一个用户有一个锁和多个违规 管理员可以对用户创建锁,也可以对用户进行违规操作,但是对于严重违规行为,必须进行违规操作,同时对用户进行锁定 为了避免管理员不得不点击多个表单,我想我可以将所有内容都放在一个表单中:同时在同一个用户上建立违规和锁定,但我不知道如何做到这一点。在我意识到它只能接受一个对象之前,我正在考虑使用块的形式_ 有人知道我该如何解决这个问题吗?为helper签出字段,为helper接受嵌套属性。两者的结合将满足您的需要 例

我有两种不同的模型,叫做违规和锁定。这些属于我的用户模型,一个用户
有一个
锁和
多个
违规

管理员可以对用户创建锁,也可以对用户进行违规操作,但是对于严重违规行为,必须进行违规操作,同时对用户进行锁定

为了避免管理员不得不点击多个表单,我想我可以将所有内容都放在一个表单中:同时在同一个用户上建立违规和锁定,但我不知道如何做到这一点。在我意识到它只能接受一个对象之前,我正在考虑使用块的形式_


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

为helper签出字段,为helper接受嵌套属性。两者的结合将满足您的需要

例如:

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

...
...
删除:
...
您的person类将类似于:

class Person < ActiveRecord::Base
  has_one :address
  accepts_nested_attributes_for :address
end
class-Person
如果
违规
锁定
都属于
用户
,这会起作用吗?我不想在添加锁或违规时更新
用户
,您不必更新用户对象上的任何属性;只需使用它来构建所需的表单,并让它更新关联对象中所需的内容。而且,您不必更改用户和锁之间的关联类型;这个应该没问题。从锁到用户的反向关系是什么?是的,所以我看不出有什么理由不起作用。你试过了吗?