2013-08-01 3 views
0
parent table = cars 
related table = parts 

c = car.find_by_id(1) 
c.part.new(:car_id => 1, :part_name => "gas pedal", :color => "black") 

이 기능을 사용할 수 없습니다.루비 콘솔에서 콘솔의 부모 테이블을 통해 관련 테이블에 새 레코드를 추가하는 방법은 무엇입니까?

어떻게하면됩니까? 이 관계에 사용할 수있는 방법을 어떻게 찾습니까?

+0

첫 번째 줄 (그리고 두 번째 줄)에서 의도 한 바는 무엇입니까? 'parent (table = cars)'또는'parent_table = cars'와 같은 것을 의도하셨습니까? –

답변

1

당신은 내가 당신이 정의 자동차 has_many 부품 관계를 가정하고이

c = Car.find_by_id(1) 
c.parts.create(:part_name => "gas pedal", :color => "black") 

처럼 그것을 할 수 있습니다.

1

여기에 당신이 할 수있는,

car = Car.find 1 
car.parts.create part_name: 'gas pedal', color: 'black' 

또는보다 2.0 친화적 인 대답이

car = Car.find 1 
part = Part.create(part_name: 'gas pedal', color: 'black') 
car.parts << part 

또는 바로 가기

car = Car.find 1 
car.parts << Part.create(part_name: 'gas pedal', color: 'black') 

당신이 원하지 않는 경우저장 10 바로,이

car = Car.find 1 
part = car.parts.build(part_name: 'gas pedal', color: 'black') 
part.save 

이 유용 할 수있다!