class User < ActiveRecord::Base
has_many :boxes
has_many :books
end
class Box < ActiveRecord::Base
belong_to :user
has_many :books
end
class Book < ActiveRecord::Base
belongs_to :user
belongs_to :box
end
所以,当我在一个控制台下方运行它的作品,因为我想到,创建一个新的框和USER_ID连接到箱混淆在ActiveRecord的构建方法
>> u = User.first
>> u.boxes.build(:height => 3, :width => 1, :length => 4)
>> u.save
于是我走得更远,尝试这一点。 box_id已设置,但书中的user_id未设置。
>> u.boxes.first.books.build(:title => 'Reading is fun')
>> u.save
看起来好像我在这里错过了一个非常基本的概念。
这很有道理。我有一种与has_many:through关系有关的感觉。 – mkly
好的,所以无论如何,我需要将用户标识传递给本书,因为它无法在远处看到。这非常有帮助。谢谢。 – mkly
仅当您不使用':through'时。如果你使用':through','books'表不需要'user_id'列,所有的东西都是通过'Box'模型自动设置的。 – Chowlett