[英]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.