紅寶石這可能是一個很簡單的問題,我向你道歉 - 我是新來的軌道。的has_many/belongs_to的訪問控制信息 - on Rails的
我有2個控制器 - 客戶和訂單。我已經知道了,當客戶下訂單時,他們的ID將被傳遞到隱藏字段中,以便訂單表中的customer_id字段具有其ID。所以所有訂單都有放置它的客戶的ID。我想要做的是讓客戶的展示視圖顯示他們的所有訂單 - 所有訂單都帶有他們的ID。
我已經得到了客戶的has_many訂單和訂單belong_to客戶等我如何引用客戶/訂單提取合適的信息?我是否需要在控制器的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 %>
謝謝!而已!另外,如果我想顯示訂單中的單個項目(使用我得到的line_items控制器),我會在客戶模型中放置「has_many:line_items,through::orders」,然後將其作爲order.line_item進行引用。名稱? – ecs
你可能不希望把一個'的has_many through'對客戶line_items,因爲line_items只有在它們的順序('的has_many through'的上下文中有意義會使顧客有line_items獨立訂單的大斗)。如果命令has_many是line_items,那麼當你迭代命令(如上)並且有一個給定的順序時,你可以執行'order.line_items.each do | line_item |'並在循環內循環這些循環。 –
請你可以發佈一個嵌套循環的代碼 - 我已經嘗試過多種方式做它,我收到錯誤消息!非常感謝! – ecs