我有两个数据电子表格保存在单独的Google电子表格,商店和产品中。
商店有以下栏目:
产品包含以下列:
在Rails中,我有两个模型 - 商店和商品 - 与has_and_belongs_to_many关系相关联。模型具有与电子表格中的每个列匹配的属性。
我正在寻找创建一个rake任务,将电子表格作为CSV文件并在商店和产品数据库中创建链接的行,但作为一个编码新手,我发现它很难。从.csv向一个表添加数据似乎很容易,但是如何使用匹配的“产品ID”列链接两个csv文件中的数据?
答案 0 :(得分:0)
我相信Has_and_belongs_to_many在最新的rails中被折旧,可能想要移动到Has_many_through:Store_Products(链接表:product_id和:store_id)
然后使用rake文件创建
Store_Products.create(:product_id =>' 1',:store_id =>' 1')
可能想看看这个: http://guides.rubyonrails.org/association_basics.html
答案 1 :(得分:0)
一般来说,我会做类似以下的事情:
对于产品csv中的每一行,创建产品对象,然后通过在您正在阅读的行中使用您的哈希查找商店对象来设置关联,最后保存您的产品对象。
class Store < ActiveRecord::Base
end
class Product < ActiveRecord::Base
has_and_belongs_to_many :stores
end
醇>
对于rails我会猜测有一种快速方法可以通过众多工具之一(rake等)来实现。