簡體   English   中英

正確迭代相關表中的數據

[英]Iterate through data in a related table correctly

我正在做一些應該很簡單的事情,但是我遇到了麻煩,因為我不熟悉rails。

我有一個名為TimeSheet的表和名為Entry的表。

我正在我的time_sheet show視圖中工作,並希望迭代我的time_sheet上的相關條目。

我的模型設置如下。 用戶has_many:time_sheet。 時間表belongs_to:user和has_many:entries。 條目belongs_to:time_sheet

我的時間表視圖如下:

  <% @current.each do |t| %>
  <td><%= t.entries :customer_name %></td>   
  <td><%= t.entries :order_number %></td>
  <td><%= t.entries :time_in %></td>
  <td><%= t.entries :time_out %></td> 
  <% end %>

我的time_sheet節目控制器是:

 def show
    if current_user
    @current = current_user.time_sheets.entries
  else
    redirect_to new_user_session_path, notice: 'You are not logged in.'
  end

我得到的奇怪輸出看起來像每次迭代:

#<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Entry:0xb59dfcc8>

任何幫助將不勝感激。

因為你已經

@current = current_user.time_sheets.entries

<% @current.each do |t| %>

所以“t”是相關time_sheets的每個條目。 你確定還有其他參賽作品嗎? 甚至假設語句沒有語法錯誤。

<td><%= t.entries :customer_name %></td> 

怎么樣這樣。

   def show
        if current_user
        @time_sheets = current_user.time_sheets
      else
        redirect_to new_user_session_path, notice: 'You are not logged in.'
      end
   end

在視圖中:

  <% @time_sheets.each do |sheet| %>
     <% sheet.entries.each do |t| %>
        <td><%= t.customer_name %></td>   
        <td><%= t.order_number %></td>
        <td><%= t.time_in %></td>
        <td><%= t.time_out %></td> 
     <% end %>
  <% end %>

我假設customer_name,order_name是條目表中的字段名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM