Ruby on rails 分配具有多个贯穿关系的属性
我只是想知道是否有人可以向我解释如何在两个对象之间创建一个关系(编程示例会很有帮助,因此我可以在rails控制台中进行测试),其中关系被定义为一个has_many:through,并具有其他属性。对象定义如下:Ruby on rails 分配具有多个贯穿关系的属性,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,我只是想知道是否有人可以向我解释如何在两个对象之间创建一个关系(编程示例会很有帮助,因此我可以在rails控制台中进行测试),其中关系被定义为一个has_many:through,并具有其他属性。对象定义如下: class Item < ActiveRecord::Base has_many :collections, :through => :collection_items end class项:集合\u项 结束 类集合:集合\u项 结束 class Collect
class Item < ActiveRecord::Base
has_many :collections, :through => :collection_items
end
class项:集合\u项
结束
类集合:集合\u项
结束
class CollectionItem
试试这个:
CollectionItem.create(item_id: Item.first, collection_id: Collection.first, quantity: 999)
只需将“
项。first
”和“集合。first
”替换为获得正确项和集合所需的任何逻辑。好,因此在本例中,我们创建关系对象,而不是将一个成员添加到另一个集合中(在我的示例类中使用collection可能不是一个好名字,这里指的是对象集合,即items,collections)?我认为您也可以编写类似于:Item.collectionItems.create(数量:999,集合id:collection.first)
。
class CollectionItem < ActiveRecord::Base
belongs_to :collection
belongs_to :item
attr_accessible :collection_id, :item_id, :quantity
end
CollectionItem.create(item_id: Item.first, collection_id: Collection.first, quantity: 999)