繁体   English   中英

Rails的嵌套属性和模型继承

[英]Rails Nested Attributes and Model Inheritance

rails docs中查看form_for的示例,我看到了以下示例:

<%= form_for @person do |person_form| %>
  First name: <%= person_form.text_field :first_name %>
  Last name : <%= person_form.text_field :last_name %>

  <%= fields_for @person.permission do |permission_fields| %>
    Admin?  : <%= permission_fields.check_box :admin %>
  <% end %>

  <%= f.submit %>
<% end %>

我尝试复制此模板,但注意到为了使更新正常工作,我不得不将field_for行更改为

 <%= person_form.fields_for @person.permission do |permission_fields| %>

知道为什么他们显示的fields_for没有parent form变量( person_form )吗?

文档后面的示例将其与父表单变量一起显示。

谢谢

使用person_form是正确的。 将其视为formtag,您只需将输入分配给表单即可。 表单的所有名称都这样设置(person [attribute])。 fields_for没有person_form会造成其他名称,如(许可[管理员]) -这将失败,因为权限对象不与人相连。 通过person_form.fields_for使名称正确(person [permission] [admin])。 您无需执行任何操作即可获得嵌套属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM