cart.rb:爲什麼返回的是id#而不是id的值?
def vendor3name
@items.first { |item| item.vender.name }
end
當我調用該方法,我在尋找供應商的名稱,但它返回的供應商ID#。我究竟做錯了什麼?
<%= @cart.vendor3name %>
CartItem:0x264c358
cart.rb:爲什麼返回的是id#而不是id的值?
def vendor3name
@items.first { |item| item.vender.name }
end
當我調用該方法,我在尋找供應商的名稱,但它返回的供應商ID#。我究竟做錯了什麼?
<%= @cart.vendor3name %>
CartItem:0x264c358
如果你想在集合的第一個供應商的名稱,我覺得這是必須執行的代碼:
@items.first.vender.name
使用first
與塊似乎是返回第一個id與給定塊中的表達式匹配或者類似的東西。
嘗試
@items.first.vendor.name
@items.first.vender.name
是這樣做的正確方法,你所看到的並不是ID,而是顯示了對象。當你嘗試在Rails中打印出一個對象時,它會打印出對象類型和內存中用冒號分隔的對象地址。
使用您所在的塊不會返回任何內容,它只是在{}內對對象進行操作,因此您正在調用.name方法,但塊不返回任何內容。
@ items.first.vender.name返回第一個供應商的名稱