class Wall < ActiveRecord::Base
has_many :shelves
end
class Shelf < ActiveRecord::Base
has_many :book
belongs_to :wall
end
class Book < ActiveRecord::Base
belongs_to :shelf
end
CREATE TABLE `walls` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`created_at` DATETIME NOT NULL,
`updated_at` DATETIME NOT NULL,
PRIMARY KEY (`id`)
)
CREATE TABLE `shelves` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`wall_id` INT(11) NULL DEFAULT NULL,
`created_at` DATETIME NOT NULL,
`updated_at` DATETIME NOT NULL,
PRIMARY KEY (`id`)
)
CREATE TABLE `books` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`shelf_id` INT(11) NULL DEFAULT NULL,
`created_at` DATETIME NOT NULL,
`updated_at` DATETIME NOT NULL,
PRIMARY KEY (`id`)
)
我想把一本书从一个架子移到另一个架子上,所以我写...
book.shelf = new_shelf
但这不会自动处理所有关联。当我在旧书架上查询书籍时,它会返回我应该移动到另一个书架的书。
我错过了什么?