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