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あなたが思っているオブジェクトではありません-それはあなたが取り戻したもののリストです。1つだけを取り戻すことを期待している場合Supplierは、代わりに次のようにします。

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