Rails: как создавать новые вложенные записи - PullRequest
0 голосов
/ 30 октября 2018

Я только что попытался создать новые вложенные элементы (кандидаты) с Cocoon gem. В настоящее время представления показывают не создание формы, а обновление формы, как я могу изменить форму.

Я хочу попробовать показать просто создать форму.

<%= form_with(model: @title) do |f| %>
    <%= f.fields_for :candidates do |candidate| %>
    <div class="candidate-item">
        <%= candidate.hidden_field :title_id, value: @title.id %>
        <div class="field">
            <label>Candidate</label>
            <%= candidate.text_field :name%>
        </div>
        <div class="field file-field">
            <label>Image</label>
            <%= candidate.file_field :image, :type => "file" %> 
        </div>
    </div>
    <% end %>

Я попробовал это так: form_with(model: @title, url: new_candidates_path но возникает неопределенная ошибка. Кандидаты, вложенные в титулы. Пожалуйста, дайте мне знать любые идеи, которые показывают не обновлять форму, создайте форму.

1 Ответ

0 голосов
/ 30 октября 2018

Чтобы разрешить добавление и удаление элементов, используйте link_to_add_association и link_to_remove_association методы, как показано ниже

<%= form_with(model: @title) do |f| %>
  <%= f.fields_for :candidates do |candidate| %>
    <div class="candidate-item">
      <%= candidate.hidden_field :title_id, value: @title.id %>
      <div class="field">
        <label>Candidate</label>
        <%= candidate.text_field :name%>
      </div>
      <div class="field file-field">
        <label>Image</label>
        <%= candidate.file_field :image, :type => "file" %>
      </div>
      <div class="field file-field">
        <%= link_to_remove_association 'remove candidates', candidate %>
      </div>
    </div>
  <% end %>
  <div class="field file-field">
    <%= link_to_add_association 'add candidates', f, :candidates %>
  </div>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...