2013-06-19 14 views
5

Şu anda Backbone forms kullanıyorum.Yuvalanmış modellerle ve özel şablonlu omurga formları

Şu anda yuvalanmış modeller kullanarak iyi yüklenen bir şema var. Bir şablonla stilini denediğimde, beklenen sonuçları almam.

bedrooms: { 
    type: 'NestedModel', 
    model:Bedroom, 
    editorAttrs: { 
    class: 'bedrooms' 
    } 
} 

Bu, bu tarafından çağrılan özel şablona olmadan düzgün görüntüler::

<div class="bounding"> 
    <h2>Title1 </h2> 
     <div data-fields="name,type"></div> 
     <div data-fields="bedrooms"></div> 
    </div> 
    <div class="bounding"> 
     <h2>Title 2</h2> 
     <div data-fields="description"></div> 
    </div> 

Yatak Odası

olarak şemada tanımlanır:

şablon aşağıdaki benzer Bu satır kaldırıldığında

template: _.template($('#formTemplate').html()) 

ve özel şablon doğru görünüyor

<div data-fields="bedrooms"></div> 

Hem özel şablonu hem de İç içe Modeli kullanmanın bir yolu var mı? Nested modelinde şablon tanımlanmamış, sadece bir şema eklenmiştir.

Teşekkür

Güncelleme: Js Fiddle ekli benzeri

// template: _.template($('#formTemplate').html()), 

bir çalışma yolunu görmek için toggled edilmeli ve doğru

GÜNCELLEME aramıyorum:

Tommi Komulainen çok yakındı Onun cevabı Here ile, açıklama aslında ilk sınırlayıcı div değil, ikinci. Bunu ikinciye nasıl taşıyabilirim?

GÜNCELLEME 2:

Im şu anda her iç içe öğenin hale arama ve ana Bu, şu anda çalışıyor ama "iyi" bir çözüm gibi hissetmez bu

form.fields.bedrooms.render(); 
$('#bedrooms').html(form.fields.bedrooms.el); 

gibi işlemek sonra geri enjekte

+0

Güncelleştirme 2'deki çözüm 'iyi' hissetmeyebilir, ancak Marionette gibi güzel bir çerçeve kullanmadan, bunlar bazen omurgayla yapmamız gereken türden şeylerdir. – damienc88

cevap

2

Şablonunuzun tamamını bir sarmalayıcı DIV etiketi eklemeye çalışın; Şablonların bir ana öğe içermesi gerekir.

+0

Zaten var. Daha görünür hale getirmek istiyorum ama bir sınırlama din var – exussum

+0

Onun bir div değil, onun bir

wll önemli? – exussum

+0

Bu iyi olmalı. Karşılaştığınız sorunu gösteren bir jsfiddle örneği kurabilir misiniz? – evilcelery

1

Ben <div data-fields="bedrooms"></div> yerine

<div data-fieldsets="bedrooms"></div> 

olması gerektiğini düşünüyorum.

+0

bunu denedi - – exussum

+0

[Güncellenen jsfiddle] (http://jsfiddle.net/TvFxt/3/) her şeyde mantıklı görünüyor. Bir şey mi eksik? –

+0

http://jsfiddle.net/TvFxt/2/ yaptığım güncelleme oldu - fark nedir? Seninki iyi görünüyor - ama farkı anlamadım? – exussum