0
안녕 레일 나는 다음과 같은 세 개의 테이블이 있습니다has_many 관계는 3
class Workitem < ActiveRecord::Base
has_many :effort
attr_protected
end
class Effort < ActiveRecord::Base
attr_protected
belongs_to :workitem
belongs_to :person
end
class Person < ActiveRecord::Base
attr_accessible :given_name, :mgrid, :surname, :id
has_many :effort
end
아이디어는 사람이 노력 테이블을 통해 특정 작업 항목에 지출 얼마나 많은 일을 추적하는 것입니다. 내 관계가 맞는지 누군가가 확인할 수 있습니까? 그러나 이것은 효과가없는 것 같습니다. 내가 여기서 뭔가를 놓치고 있니? 또한 has_many :through
종류의 연결을 이해할 수 없습니다. 이 경우에 누군가 내가 사용하기로되어 있다면 아이디어를 주실 수 있습니까?
안녕 @simonmorley 을하는 데 도움이
희망 회신 주셔서 감사합니다. 나는 아이 이름을 복수로 바꿨다. 그러나 effort.person_id가 존재하지 않는다는 또 다른 오류가 있습니다. 다음은 IRB에서 다음을 시도 할 때입니다.> p = Person.find 1234 > p.efforts ActiveRecord :: StatementInvalid : PG :: 오류 : ERROR : 열 effort.person_id가 없습니다. 다시 잘못 어딘가에 있습니다. ? : – anipendakur
마이 그 레이션을 생성하고 실행 했습니까? 그리고 프로젝트에서 irb not irb를 사용해야합니다. – simonmorley
안녕하세요, 마이 그 레이션을 실행했습니다. 그리고 미안하지만, 레일스 콘솔이 아니라 irb입니다. 내 실수 : 콘솔에서 Effort.column_names를 입력 할 때 열 이름이 표시되지만 외래 키 (workitem_id, person_id)가 표시되지 않습니다.이 열을 다른 마이그레이션의 노력 테이블에 별도로 추가해야합니까? – anipendakur