2010-02-01 118 views
0

cart.rb:爲什麼返回的是id#而不是id的值?

def vendor3name 
     @items.first { |item| item.vender.name } 
end 

當我調用該方法,我在尋找供應商的名稱,但它返回的供應商ID#。我究竟做錯了什麼?

<%= @cart.vendor3name %>

CartItem:0x264c358

回答

2

如果你想在集合的第一個供應商的名稱,我覺得這是必須執行的代碼:

@items.first.vender.name 

使用first與塊似乎是返回第一個id與給定塊中的表達式匹配或者類似的東西。

1

嘗試

@items.first.vendor.name 
0
@items.first.vender.name 

是這樣做的正確方法,你所看到的並不是ID,而是顯示了對象。當你嘗試在Rails中打印出一個對象時,它會打印出對象類型和內存中用冒號分隔的對象地址。

使用您所在的塊不會返回任何內容,它只是在{}內對對象進行操作,因此您正在調用.name方法,但塊不返回任何內容。

@ items.first.vender.name返回第一個供應商的名稱

相關問題