我有費用和供應商模型。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
部。
現在模態窗體中的字段出現。
但是,當我提交時,它不會創建一個新的供應商。相反,它看起來像模式上的提交按鈕提交費用表單而不是模式供應商表單。如果沒有關聯的對象
一個'供應商的has_many:expenses'。我嘗試將'@ expense.build_vendor'添加到費用控制器。我嘗試了'New'和'Create'部分。它應該在哪一個? – Reddirt
對我來說,這看起來很狡猾,如果供應商有很多費用,爲什麼你要通過開支創造一個新的供應商,而不是其他方式? – BroiSatse
這是爲員工輸入新的費用。但是,對於不在數據庫中的供應商,他們可能會有費用。 – Reddirt