У меня есть модели расходов и поставщиков.Rails Вложенные поля Не показывать поля
В форме «Издержки» я пытаюсь добавить кнопку New Vendor
.
Модель расходов имеет это:
belongs_to :vendor
accepts_nested_attributes_for :vendor
Форма расходов имеет это:
<%= simple_form_for @expense, :html => {:class => 'form-horizontal'} do |f| %>
...
<a data-toggle="modal" href="#vendorform">
<p class="pull-right btn btn-primary btn-mini">New Vendor</p>
<div id="vendorform" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="vendorformLabel" aria-hidden="true">
<%= f.fields_for :vendor do |ff| %>
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h4 id="vendorformLabel">Add Vendor</h4>
</div>
<div class="modal-body">
<%= ff.input :vendor_name %>
<%= ff.input :address1 %>
<%= ff.input :address2 %>
<%= ff.input :city %>
<%= ff.input :state %>
<%= ff.input :zipcode %>
</div>
<div class="modal-footer">
<%= ff.submit 'Save Vendor', :class => 'btn btn-mini btn-primary' %>
<a class="btn btn-mini" data-dismiss="modal" href="#">Close</a>
</div>
<% end %>
</div>
</a>
...
При нажатии на кнопку New Vendor
, модальное открывается, но она пуста.
Спасибо вам за помощь!
Update1
Я добавил @expense.build_vendor
к контроллеру расходов New
секции.
Теперь появляются поля в модальной форме.
Но, когда я отправляю, он не создает нового поставщика. Вместо этого похоже, что кнопка отправки на модальном языке представляет форму «Расход», а не «Форма модального поставщика».
'Vendor has_many: expenses'. Я попытался добавить '@ cost.build_vendor' к контроллеру Expense. Я попробовал как разделы «Новый», так и «Создать». На какой из них он должен быть? – Reddirt
Это выглядит довольно хитрой для меня, если у продавца много затрат, почему вы хотите создать нового поставщика за счет расходов, а не наоборот? – BroiSatse
Это для сотрудников, которые вводят новые расходы. Но у них может быть счет для Продавца, которого нет в базе данных. – Reddirt