我有两个不同的模型,称为违规和锁定。这些属于我的用户模型,以及用户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