1

これはおそらく非常に単純な質問です。申し訳ありませんが、私は Rails の初心者です。

顧客と注文の 2 つのコントローラーがあります。顧客が注文すると、その ID が隠しフィールドに渡され、orders テーブルの customer_id フィールドに ID が渡されるようにしました。したがって、すべての注文には、注文した顧客の ID があります。私がやろうとしているのは、顧客のショービューにすべての注文を表示させることです。つまり、すべての注文にIDが付いています。

顧客 has_many の注文と注文の属している顧客などがあります。顧客/注文を参照して正しい情報を抽出するにはどうすればよいですか? また、コントローラーの show アクションに追加情報を入れる必要がありますか? 考えられることはすべて試しました!これまでのところ、ショー ビューに表示されるすべての情報のハッシュを取得できましたが、個々の情報を表示することはできません。たとえば、order.price などです。

私は基本的に、顧客のショービューで注文の詳細の表が必要です-注文価格、日付など。どんな助けでも大歓迎です、ありがとう!

編集:私はこれを持っていますが、line_items ビットを動作させることができません。関係は次のように機能します。顧客には多くの注文があり、注文には多くの品目があり、品目は製品に属しています。それが機能しない理由は、belongs_to が原因であると思われます。

<% @customer.orders.each do |order| %>
    <% order.line_items.each do |line_item| %>
        <tr>
            <td><%= line_item.created_at %></td>
                <% line_item.products.each do |product| %>
                    <td> <%= product.name %></td>
                <% end %>
            <td><%= order.email %></td>
        </tr>
    <% end %>
<% end %>
4

2 に答える 2

0

あなたのショーアクションで:

  def show
    @customer = Customer.find(params[:id])
  end

あなたの routes.rb で:

resources :customers

あなたの見解では:

<table>
<% @customer.orders.each do |order| %>
  <tr>
    <td><%= order.id %></td>
    <td><%= And Other Your Order Fields %></td>
  </tr>
<% end %>
</table>
于 2012-06-18T15:23:13.527 に答える