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返回第一个供应商的名称