0

顧客と請求書のモデルがあります。顧客には多くの請求書があり、請求書は顧客に属しています。

class Customer < ActiveRecord::Base
 attr_accessible :billing_address, :customer_currency, :email, :first_name, :last_name,    :mobile, :name, :payment_terms, :phase_type, :pays_vat
 validates_presence_of :first_name, :last_name, :mobile, :billing_address, :payment_terms,  :phase_type, :customer_currency

has_many :invoices

validates :email, 
        :presence => true,
        :uniqueness => true, 
        :email_format => true

validates :name, :mobile, :presence => true, :uniqueness => true
end

請求モデルは

class Invoice < ActiveRecord::Base
belongs_to :customer
attr_accessible :approved_by, :due_date, :invoice_date, :terms, :customer_id, :customer

validates :invoice_date, presence: true
validates :due_date, presence: true
validates :customer, presence: true

システム内のすべての請求書を一覧表示するインデックス ページを作成しようとしています。これにより、請求書が属する顧客名が表示されます。それを取得して、モデルとビューで明確に描写するにはどうすればよいですか?

4

1 に答える 1

0

顧客と請求書のコントローラーとビューを既に作成していると思います (そうでない場合は までに作成してくださいgenerate scaffold)。次に、請求書をviews\invoices\index.html.erbに一覧表示します。

<table>
  <tr>
    <th>Invoice</th>
    <th>Customer/th>
  </tr>
<% @invoices.each do |invoice| %>
  <tr>
    <td><%= invoice.num %></td>
    <td><%= invoice.customer.first_name %></td>
  </tr>
<% end %>
</table>

もちろん、controllers/invoices_controller.rb@invoicesで宣言する必要があります。

def index
  @invoices = Invoice.includes(:customer).all
end
于 2012-12-28T20:00:02.070 に答える