2013-02-04 17 views
2

如果我手动创建图像并分配产品。它在控制台很好用:将图像分配给Spree中的资产

p = Spree::Product.first 
i = Spree::Image.create!(<create info>) 

p.images << i 

p.save! 

当我试图在程序中运行这个。它什么都不做。它运行就好像p.images << i从未运行过。

我试过搜索,但不知道如何搜索< <很好。

更新

如果我添加到程序:

p = Spree::Product.first 
i = Spree::Image.create!(<create info>) 

i = Spree::Image.find(i.id) #this line 

p.images << i 

p.save! 

这个伟大的工程,但我不明白是怎么回事。

感谢先进! Justin

回答

0

所以这在ORMs中很常见。

收集< <方法将通过 一个或多个对象,以收集他们的外键设置为呼叫模型的主键。

每轨教程: http://guides.rubyonrails.org/association_basics.html

如果你到那个页面,您可以做到按Ctrl + F 并搜索:< <

这会给你一吨的信息,这。

另外我会推荐一个来源。我喜欢这个ORM上的文档好一点: http://datamapper.org/docs/associations.html

它不是活动记录,但它非常相似。对我来说,使用datamapper帮助我更好地掌握活动记录。

希望有所帮助。

相关问题