잘하면이 하나에 대해 너무 심하게 타오르지는 않을 것입니다. 아무런 도움이되지 않을 정도로 열심히 노력했습니다.Ruby on Rails에서 연관성 선언하기
누군가가 Ruby on Rails (3)에서 연결을 올바르게 선언하는 방법을 알아낼 수 있는지 궁금합니다.
#room.rb
class Room < ActiveRecord::Base
has_many :check_ins
end
#check_in.rb
class CheckIn < ActiveRecord::Base
belongs_to :user
belongs_to :room
end
#user.rb
class User < ActiveRecord::Base
has_one :check_in
end
지금까지, 내 모든 테이블에 foreign_key 열을 추가 할 수있는 마이그레이션을 완료하지 않은 (레일 당신을 위해이 일을합니까?) :이 순간, 나는 3 개 모델이있다.
나는에 대한 혼란 스러워요 왜 명령 User.first.check_in
반환 SQLite3::SQLException: no such column
반면 명령 CheckIn.first.user
반환 nil
. CheckIn.first.room
및 Room.first.check_ins
에 대해서도 마찬가지입니다. User.first.check_in
이 첫 번째 사용자와 연결된 CheckIn 객체를 반환하고 Room.first.check_ins
이 첫 번째 방과 관련된 CheckIn 집합을 반환하도록하려면 어떻게해야합니까?
어떤 도움을 주시면 감사하겠습니다.
찰리
그레이트 대답 - 매우 설명! 필자가 놓친 주요 아이디어는 마이그레이션을 통해 check_in에 user_id 및 room_id 열을 추가해야한다는 것이 었습니다. 또한': through' 아이디어에 대한 조언을 주셔서 감사합니다. – candrews