我已经设置了两个模型,其中一个专辑具有流派,并且流派拥有属于它的许多专辑。父模型在一对多关联中返回一个空数组
class Album < ActiveRecord::Base
attr_accessor :genre_id
belongs_to :genre
end
class Genre < ActiveRecord::Base
has_many :albums
end
这里是我的移民文件:
class AddGenreIdToAlbum < ActiveRecord::Migration
def change
add_column :albums, :genre_id, :integer
end
end
在我的rails控制台,我可以一个流派分配给我的专辑像这样:
album = Album.last
album.genre = Genre.last
的问题是,如果我查询专辑对于那个流派我得到一个空阵列:
genre = Genre.last
genre.albums
=> #<ActiveRecord::Associations::CollectionProxy []>
为了使两个型号相应地保存,我需要做些什么?
当你创建一个专辑时,你将它分配给一个流派?显然你会得到一个空的数组,如果专辑没有被分配到一个流派。只是检查:) – theartofbeing 2015-03-19 03:40:31
另外,你可以确认你有'''t.belongs_to:genre''或'''t.integer:genre_id''在你的迁移吗? – theartofbeing 2015-03-19 03:41:55
是的,我分配给它的类型确实存在于db – 2015-03-19 03:43:52