加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在两个instancied对象之间创建关联

发布时间:2020-12-17 04:30:03 所属栏目:百科 来源:网络整理
导读:我有两个型号:(专辑和产品) 1)内部模型 在album.rb里面: class Album ActiveRecord::Base attr_accessible :name has_many :productsend 内部product.rb: class Product ActiveRecord::Base attr_accessible :img,:name,:price,:quantity belongs_to :albu
我有两个型号:(专辑和产品)

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”,如何设置关联(所以我可以使用“<%= Product.first.album.name%>”)?

例如

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

您可能必须在Product模型上设置album_id可访问的属性(不确定).

检查@bdares的评论.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读