Rails 3 access nested attributes in nested form
I have an Invoice, that contains LineItems that belong to item Items.
Invoice
client_idLineItem
invoice_id item_id quantity cost (because cost could be edited per invoice if needed)Item
name costThe problem开发者_如何学C is, in the Edit form. I want to display the cost and description but I can't.
_form.html.erb
<%= form_for(@invoice) do |f| %>
<div class="field">
<%= f.label :organization_id, 'Client' %>
<%= f.collection_select :client_id, @clients, :id, :name, :prompt => 'Select' %>
</div>
<table id="invoice_items">
<tr><th>Item</th><th>Description</th><th>Unit Cost</th><th>Qty</th></tr>
<%= f.fields_for :line_items do |builder| %>
<%= render 'line_item_fields', :f => builder %>
<% end %>
</table>
<div class="actions">
<%= f.submit 'Save', :disable_with => "Processing..." %>
</div>
<% end %>
_line_items_fields.html.erb
<tr>
<td><%= f.collection_select :item_id, @items, :id, :name, :prompt => '' %></td>
<td>Description here</td>
<td><%= f.text_field :cost, :class => 'cost' %></td>
<td><%= f.text_field :quantity, :class => 'qty' %></td>
</tr>
How could I display the cost and description in a div in _line_items_fields.html.erb? I will need to display the cost in a div because later I will need to use it for jQuery to grab that value to do some calculation.
I guess you're looking for object
.
Something like:
<%= f.object.cost unless f.object.cost.blank? %>
精彩评论