Как положить во вкладки вложенную форму?

У меня есть модели CustomerBio и CustomerBioDetail. Детали имеют разные категории.

Модель CustomerBio has_many CustomerBioDetails

CustomerBioDetail belongs_to CustomerBio

    <%= simple_form_for @customer_bio, :remote => true do |f| %>
        ...
        <%= f.simple_fields_for :customer_bio_details, :wrapper => false do |p| %>
            <%= render 'customer_bio_detail_fields', {p: p} %>
        <% end %>   

        <%= f.submit 'Save', class: "btn btn-primary" %>
    <% end %>

Как я буду вкладывать свои вкладки по категориям.

образец таблицы:

CustomerBio


ID: 1
Name: Sample Question 1

CustomerBioDetail


ID: 1
customer_bio_id: 1
name: Full Name
category_id: 1

ID: 2
customer_bio_id: 1
name: Age
category_id: 1

ID: 3
customer_bio_id: 1
name: Company
category_id: 2

ID: 4
customer_bio_id: 1
name: Position
category_id: 2

Так что у меня будет 2 вкладки для этого

1 ответ

Решение

Я не пробовал сам, но это должно работать для вас:

<%= simple_form_for @customer_bio do |f| %>
  ...
  <% @customer_bio.customer_bio_details.group_by(&:category).each do |category, details| %>
    <div class="tab">
      <h3 class="tab-title"><%= category.name %></h3>
      <%= f.simple_fields_for details do |p| %>
        ...
      <% end %>
    </div>
  <% end %>

  <%= f.submit 'Save', class: "btn btn-primary" %>
<% end %>
Другие вопросы по тегам