嵌套的路线和路线助手用于自联接?

问题描述 投票:0回答:1

我可以将“动作视图表单帮助指南(https://guides.rubyonrails.org/form_helpers.html#nested-forms”中关于嵌套表单的示例,以及“路由指南”中https://guides.rubyonrails.org/routing.html#nested-resources)关于嵌套资源的示例,以自结合的形式转录为:在协会指南(https://guides.rubyonrails.org/association_basics.html#self-joins)]中进行了说明

自加入

class Employee < ApplicationRecord
  has_many :subordinates, class_name: "Employee",
                          foreign_key: "manager_id"

  belongs_to :manager, class_name: "Employee", optional: true
end

嵌套表格帮助器示例

<%= form_with model: @person do |f| %>
  Addresses:
  <ul>
    <%= f.fields_for :addresses do |addresses_form| %>
      <li>
        <%= addresses_form.label :kind %>
        <%= addresses_form.text_field :kind %>

        <%= addresses_form.label :street %>
        <%= addresses_form.text_field :street %>
        ...
      </li>
    <% end %>
  </ul>
<% end %>

嵌套路线帮助器示例

resources :magazines do
  resources :ads
end

我可以将《 Action View表单帮助指南》(https://guides.rubyonrails.org/form_helpers.html#nested-forms)上的有关嵌套表单的示例转录为嵌套表单,以及...中的示例...] >

ruby-on-rails self-join nested-routes form-helpers
1个回答
0
投票

关于路由或表单,自连接与任何其他类型的关联之间完全没有区别。

您的路线实际上根本不在乎模型*。他们只是声明一组路由规则,这些规则将传入的请求与控制器进行匹配。因此,他们甚至不在乎您的关联。您可以根据需要声明自己的RESTful路由,并且可以作为程序员(实际上决定了它如何与您的模型相对应)来声明它。该表是自我连接的事实是一个实现细节,实际上与应如何构建应用程序无关。

© www.soinside.com 2019 - 2024. All rights reserved.