2012-02-16 2 views
3

나는 Sequel and Sequel :: Model으로 놀았습니다.Sequel로 모델을 재귀 적으로 저장하려면 어떻게해야합니까?

나는 Items (one_to_many)이 많은 Group을 만들었습니다.

내가 할 수있는 :

Group.new << Item.new 

하지만을 :

Group.new.add_item(Item.new) 

도를 :

Item.new.group=Group.new. 

그것은 약 Group 기본 키를 가지고 있지 뿌려줍니다.

group을 저장하면 저장되지만 항목은 저장되지 않습니다.

모든 것을 재귀 적으로 저장할 수 있습니까?

답변

5

디자인 별의 속속표는 전체 개체 그래프를 저장하지 않습니다. 그것의 연결 수정 방법은 매우 직접적이며 많은 추상화를 제공하지 않도록 설계되었습니다.

아마도 nested_attributes 플러그인이나 instance_hooks 플러그인 (nested_attributes 플러그인이 내부적으로 사용하는)을 사용하려고합니다.

# nested attributes plugin 
Group.new(:items_attributes=>[{}]).save 

또는

# instance_hooks plugin 
Group.new.after_save_hook{add_item(Item.new)}.save 
관련 문제