在Spree中将图像分配给资产

时间:2013-02-04 13:49:55

标签: ruby-on-rails spree assign

如果我手动创建图像并分配产品。它在控制台中运行良好:

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

p.images << i

p.save!

当我尝试在程序中运行它时。它没有做任何事情。它就像p.images << i从未运行一样运行。

我尝试搜索,但不知道如何搜索&lt;&lt;很好。

更新

如果我加入该计划:

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

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

p.images << i

p.save!

这很好用,但我不明白这里发生了什么。

先谢谢了! 贾斯汀

1 个答案:

答案 0 :(得分:0)

所以这在ORM中很常见。

  

集合&lt;&lt;方法将一个或多个对象添加到集合中   将其外键设置为调用模型的主键。

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

如果你去那个页面你可以做ctrl + f 并搜索:&lt;&lt;

这将为您提供大量信息。

此外,我还会推荐一个来源。我更喜欢这个ORM上的文档: http://datamapper.org/docs/associations.html

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

希望有所帮助。