Rails form_for父子关联中的语法

时间:2015-08-06 23:52:15

标签: ruby-on-rails ruby

当我使用父/子关联时,我正试图围绕form_for语法。基本上我的问题是,下面有什么不同,因为我已经看到大部分被使用:

<%= form_for (Child.parent) do |f| %>

<%= form_for (@child.parent) do |f| %>

<%= form_for (@child, @parent) do |f| %>

<%= form_for (@child, @parent.child) do |f| %>

<%= form_for (Child, @parent) do |f| %>

<%= form_for ([Child.parent]) do |f| %>

<%= form_for ([@parent.child]) do |f| %>

1 个答案:

答案 0 :(得分:0)

我会说这取决于你想要完成的事情。我以前用过这个:

<%= form_for [@parent, @child] do |f| %>

或甚至使用命名空间:

<%= form_for [:namespace, @child] do |f| %>

如果您正在寻找嵌套字段,这可能会更符合您的需求:

<%= form_for @parent do |f| %>

    ...

    <%= f.fields_for :children do |builder| %> 
        <%= render "child_fields", f: builder %>
    <% end %>

    ...

<% end %>