我甚至不知道從哪裏開始解釋我的問題,所以請多多包涵:(Rails的協會工作不
我有兩個型號,產品和類別 - 產品HAS_ONE類別和類別belongs_to的產品
!產品型號
ID
名
描述
品牌
商人
價格
圖像0 鏈接
類別
分類模型
ID
名
PRODUCT_ID
確定,所以現在我循環通過XML飼料製造產品,像這樣:
Product.create(:name => node.xpath("./text/name/text()").inner_text.downcase,
:description => node.xpath("./text/desc/text()").inner_text,
:brand => node.xpath("./brand/text()").inner_text,
:merchant => node.xpath("../@name").inner_text,
:category => Category.find_by_name(node.xpath("./cat/text()").inner_text.downcase),
:price => "£" + node.xpath("./price/btext()").inner_text)
這似乎運行偉大,直到我看到了它在數據庫的製作......下面是兩個表的輸出。
Products表
(刪節版,包含10,000條記錄)
ID:1
....
....
....
類別:< ----爲所有超過10,000條記錄清空... err wtf?當然應該是一個類別ID或名稱
類別表
(僅包含8個記錄,一個用於每個類別)
ID:1
名:襪
PRODUCT_ID:10662 < ---- ERR WTF ?
ID:2
名:組合
的product_id:10658 < ---- ERR跆拳道?
ID:3
名稱:鞋
的product_id:9954 < ---- ERR跆拳道?
ID:4
名:睡衣
的product_id:10653 < ---- ERR跆拳道?
ID:5
名稱:帽子
的product_id:10655 < ---- ERR跆拳道?
ID:6
名稱:短褲
的product_id:10221 < ---- ERR跆拳道?
ID:7
名稱:牛仔褲
的product_id:9973 < ---- ERR跆拳道?
ID:8
名稱:教員
的product_id:8072 < ---- ERR跆拳道?
說實話,我很困惑,我不知道我想要看到了: -/
我只想兩個表連接在一起笑。我在這裏錯過了一些基本的東西!?
好吧,現在正在工作。但是,現在將所有產品的category_id設置爲'1'!?我猜這是這行錯了::category_id => Category.find_by_name(node.xpath(「./cat/text()」)。inner_text.downcase) – Zinc 2011-02-07 22:45:37
Ah Ha!我破解了它。該行應該是:category而不是:category_id - >:category => Category.find_by_name(node.xpath(「./cat/text()」)。inner_text.downcase) – Zinc 2011-02-07 23:02:04