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
ただし、これはすべての関連付けを自動的に処理するわけではありません。古い本棚にクエリを実行すると、別の本棚に移動したと思われる本が返されます。
私は何が欠けていますか?