Ruby on rails Rails:如何在表中呈现嵌套表单

Ruby on rails Rails:如何在表中呈现嵌套表单,ruby-on-rails,form-for,Ruby On Rails,Form For,例如,我有两种型号: class Task < ApplicationRecord has_many :task_details end class TaskDetail < ApplicationRecord belong_to :task end 我的问题是:我怎样才能达到我的要求 谢谢确保您的任务模型具有接受任务的\u嵌套\u属性\u详细信息,然后您可以执行以下操作 <%= form_for @data[:task], :url => tasks_pa

例如,我有两种型号:

class Task < ApplicationRecord
   has_many :task_details
end

class TaskDetail < ApplicationRecord
  belong_to :task
end
我的问题是:我怎样才能达到我的要求


谢谢

确保您的
任务
模型具有
接受任务的\u嵌套\u属性\u详细信息
,然后您可以执行以下操作

<%= form_for @data[:task], :url => tasks_path do |f| %>
  <table>
    <tr>
      <th>Task Name</th>
      <th>Task Description</th>
    <tr>
    <%= f.fields_for :task_details do |task_detail| %>
      <tr>
        <%= task_detail.hidden_field :id %>
        <td><%= task_detail.text_field :name %></td>
        <td><%= task_detail.text_field :description %> </td>
      <tr>
    <% end %>
  </table>    
<% end %>

谢谢在每个
处,我都有一个循环。那么,我如何才能使的
字段只运行一次,并且使用已知的索引?我不明白你在问什么。您是说您的
任务
对象只有一个
任务详细信息
对象吗?然后循环将只显示一次。您是否在谈论显示多种不同类型的任务详细信息,并且用户选择了一种?也许您应该用示例清楚地解释您试图实现的目标。
<%= form_for @data[:task], :url => tasks_path do |f| %>
  <table>
    <tr>
      <th>Task Name</th>
      <th>Task Description</th>
    <tr>
    <%= f.fields_for :task_details do |task_detail| %>
      <tr>
        <%= task_detail.hidden_field :id %>
        <td><%= task_detail.text_field :name %></td>
        <td><%= task_detail.text_field :description %> </td>
      <tr>
    <% end %>
  </table>    
<% end %>
def new
  ...
  @data[:task].task_details.build
  ...
end