2012-10-30 2 views
3

저는 embeds_many 연관을 얻었습니다. 이전에 성공적으로 설정 한 것을 설정하려고했으나, 하나의 중첩 된 폼에서이 모든 작업을 수행하려고합니다. 그것을 이해하지 못한다. 내가 사용하고 포켓 내 형태로몽고이드 Embeds_many는 중첩 된 폼에 저장하지 않을 것입니다.

class Coin 
    include Mongoid::Document 
    field :name, type: String 
    embedded_in :pocket 
end 

:

class Pocket 
    include Mongoid::Document 
    field :title, type: String 
    embeds_many :coins, cascade_callbacks: true 
end 

및 코인 모델 :

의 우리가 pocket 모델을 가지고 있다고 가정 해 봅시다

= f.fields_for @pocket.coins do |coin| 
    = coin.text_field :name 

내 컨트롤러가 기본 스캐 폴딩 컨트롤러입니다. 콘솔을 사용할 때 저장이 잘되고 내가 만든 새 주머니와 동전을 볼 수 있습니다. 그러나 폼에서 동전을 만들거나 업데이트하려고 할 때 주머니는 저장되지만 동전은 변경되지 않습니다.

무엇이 여기에 있습니까?

답변

2
는 잘 작동합니다

class Pocket 
    include Mongoid::Document 
    field :title, type: String 
    embeds_many :coins, cascade_callbacks: true 
    accepts_nested_attributes_for :coins 
end 

에 모델 포켓을 변경

.

+0

멋지다. 고마워. 내가 embeds_many에 대한 몇 가지 중요한 구문을 놓치고 있어야한다는 것을 알고있었습니다. –