2011-08-02 4 views
2

fields_for이 같은 모델이 있습니다Mongoid의 embeds_many는

class Search 
    include Mongoid::Document 

    embeds_many :terms 

    accepts_nested_attributes_for :terms 
end 

class Terms 
    include Mongoid::Document 

    embedded_in :search, inverse_of: :terms 

    field :some, type: String 
    field :search, type: String 
    field :terms, type: String 
end 

을 나는처럼 보이는 일부 HAML 있습니다

@search = Search.new 
@search.terms.build 
:

= form_for @search do |f| 
    - f.fields_for(:terms) do |term_form| 
    = term_form.label :some 
    = term_form.text_field :some 
    = term_form.label :search 
    = term_form.text_field :search 
    = f.submit 'Save' 

내 검색 # 새로운 방법의 모습을

페이지에 아무 것도 나타나지 않으면 나는 그것을 좋아할 것이지만 그렇지 않습니다.

mongoid embeds_many 임베디드 문서에 form_for 및 fields_for를 사용하여 양식을 만드는 방법은 무엇입니까?

= form_for @search do |f| 
    - @search.terms.each do |term| 
    - f.fields_for(term) do |term_form| 
.... 

과 몇 가지 다른 변화, 모두 아무 소용이 : 공식적으로

, 나는 또한처럼 보이는 HAML을 시도했습니다.

답변

1

this 질문에 내 대답을 가지고해야하는지 확실하지.

레일 3

- f.fields_for(:terms) do |term_form|이되고 싶어 :

= f.fields_for(:terms) do |term_form|

은 그래서 전혀 mongoid 관계와는 전혀 무관 밝혀졌습니다. 추측을 위해 어리 석다.

1

양식이 괜찮은 것처럼 보이지만 컨트롤러 동작에 오타가 있음을 발견했습니다. 그냥 오타가 귀하의 질문에, 또는 실제 응용 프로그램에서,하지만

@search.parties.build 

@search.terms.build 
+0

오타의 질문에 명확하게하기 위해 수정했습니다. 감사. –