我有两个模型:(相册和产品)

1)内部模型

在album.rb内部:

class Album < ActiveRecord::Base
  attr_accessible :name
  has_many :products
end

内部product.rb:
class Product < ActiveRecord::Base
  attr_accessible :img, :name, :price, :quantity
  belongs_to :album
end

2)使用“ rails console ”,如何设置关联(所以我可以使用“”)?

例如
a = Album.create( :name => "My Album" )
p = Product.create( :name => "Shampoo X" )
# what's next? how can i set the album and the product together?

最佳答案

您可以这样:

a = Album.create( name: "My Album" )

p = Product.create( name: "Shampoo X" )
# OR
p = Product.create( name: "Shampoo X", album_id: a.id )
# OR
p.album = a
# OR
p.album_id = a.id
# OR
a.products << a
# finish with a save of the object:
p.save

您可能必须将属性设置为产品模型上的album_id可以访问(对此不确定)。

还要检查@bdares的评论。

关于ruby-on-rails - 在两个实例对象之间创建关联,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14034844/

10-12 05:14