2012-01-02 2 views
1

데이터베이스에 즉시 저장하지 않고 중첩 속성으로 선언 된 모델의 특정 속성에 값을 할당하는 방법이 있습니까?ActiveRecord 중첩 속성, 할당 자동 저장 데이터베이스

+0

이 모델은 조인 모델 (has_many : through')입니까, 아니면 그냥 has_many입니까? –

+0

실제로 그것은 has_one –

+0

흠입니다. 부모 모델이 저장 될 때까지 중첩 된 모델을 저장해서는 안됩니다 ... 주 모델에서'.save' 또는'.update_attributes'를 호출하고 있습니까? –

답변

1

Quotied를 (예를 들어, 먼저 메모리에 보관)에서 =>http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html

"Note that the :autosave option is automatically enabled on every association that #accepts_nested_attributes_for is used for."

당신은 중첩 된 속성을 사용하지만 다른 방법이 있다는 것을 할 캔트. 먼저 정확한 상황을 설명해 주시겠습니까?

+0

특정 모델의 속성을 조작하기 위해 formtastic을 사용하고 있으며 다른 중첩 모델을 조작하기 위해 accepts_nested_attributes를 사용해야합니다. 문제는 해당 모델이 기본 모델에 설정되지 않은 경우 (예 : 모델이 설정되지 않은 경우) 필드가 표시되지 않는다는 것입니다. 그래서 뷰가 렌더링되기 전에 그것을 설정하는 것은 용서입니다. 하지만 그것에 무언가를 할당하면 자동으로 데이터베이스에 저장됩니다 ... –