0

在控制器方法中,我需要找到一些数据,使用like,所以我写:

***
esupp = oo.cell(line,'N')
supplier = Supplier.where("SUP_BRAND like ?", "%#{esupp}%")
@aa = @art_concret.find{|item| item['ART_SUP_ID']==supplier.SUP_ID}
***

但我得到像这样的错误

undefined method `SUP_ID' for #<ActiveRecord::Relation:0xa65048c>

当我尝试编写 Supplier.all 时,一切都很好,我需要像 sql 一样。供应商有数据(在控制台中看到这个),但是当尝试访问字段时,得到错误

4

1 回答 1

1

supplier不是您认为的对象 - 它是您返回的东西的列表。如果您希望只取回一个Supplier,请改为执行以下操作:

supplier = Supplier.where("SUP BRAND LIKE ?", "%#{esupp}%").first
于 2012-08-27T21:33:45.780 回答