0

many_invoice アイテムを持つ請求書モデルがあります

class Invoice < ActiveRecord::Base
  belongs_to :customer, :inverse_of => :invoices
  attr_accessible :approved_by, :due_date, :invoice_date, :reading_ids, :terms, :customer_id, :customer, :status

  validates :invoice_date, presence: true
  validates :due_date, presence: true
  validates :customer, presence: true
  has_many :invoice_items
  accepts_nested_attributes_for :invoice_items
end

請求書項目モデル

class InvoiceItem < ActiveRecord::Base
  belongs_to :invoice
  attr_accessible :amount, :description, :rate, :tax_amount
end

Invoices_controller に show アクションが追加されました

def show
@invoice = Invoice.find(params[:id])
respond_to do |format|
    format.html
end
end

請求書の表示ページに説明、税額、税率などのinvoice_itemsを表示できるようにしたいのですが、かなりの課題です。請求書の項目を処理するパーシャルを作成する必要がありますか? 以下は私のショーページです

<p id="notice"><%= notice %></p>
<div class="row">
<div class="span12">
    <h3> Customer Invoices </h3>
<table class="table table-striped">
  <thead>
    <tr>
      <th>Invoice ID </th>
      <th>Customer Name </th>
      <th>Invoice Date </th>
      <th>Due Date </th>
      <th>Amount</th>     
   </tr>
</thead>
<tbody>
  <tr>
    <td><%= @invoice.customer.name %></td>
    <td><%= @invoice.invoice_date %></td>
    <td><%= @invoice.due_date %></td>   
  </tr>
</tbody>
</table>
</div>
</div>
4

2 に答える 2

1

パーシャルを使用することは必須ではありませんが、どちらの方法でもこれを行うことができます

1-部分的なし

in your show.html.erb

#your invoice code
<% invoice_items = @invoice.invoice_items %>
<% invoice_items.each to |invoice_item|%>
<tr>
  <td><%= invoice_item.amount%></td>
</tr>
<% end %>

2)部分的に

in your show.html.erb

#your invoice code
    <% invoice_items = @invoice.invoice_items %>
    <% invoice_items.each to |invoice_item|%>
    <tr>
      <td>
         <%= render :partial => 'invoice_item', :locals => {:item => invoice_item}%>
      </td>
    </tr>
    <% end %>

 in your _invoice_item.html.erb

 <%= item.name %>

HTH

于 2012-12-31T10:45:40.977 に答える
0

物事を整理するためにパーシャルを使用できますが、ショー ビュー テンプレートでこれを実行できない理由はありません。

<% @invoice.invoice_items.each do |item| %>
 <td><%= item.amount %></td>
 <td><%= item.description %></td>
 # etc
<% end %>

請求書明細は、ビューにあるオブジェクトに関連して@invoiceいるため、請求書にアクセスできますinvoice_items

于 2012-12-31T10:41:14.093 に答える