2011-07-27 10 views
5

क्या Backbone.js के लिए कोई प्लगइन है जो रेल के लिए "form_for" करता है? उदाहरण के लिए, मैं एक मॉडल प्रदान करता हूं और यह एक फॉर्म बनाने के लिए एक डीएसएल प्रदान करता है?Backbone.js के लिए फॉर्म बिल्डर प्लगइन?

उत्तर

1

मुझे लगता है कि यह एक अलग समाधान के साथ एक अलग जानवर है। मैंने बैकबोन.मोडेल फ़ील्ड में बाध्यकारी फॉर्म तत्वों के लिए एक backbone.js एक्सटेंशन लिखा था। कॉफ़ीस्क्रिप्ट को क्षमा करें लेकिन मैं सामान्य रूप से निम्नलिखित करता हूं।

class FooView extends MyView 

    tag: "div" 

    modelBindings: 

    "change form input.address" : "address" 
    "change form input.name" : "name" 
    "change form input.email" : "email" 

    render: -> 

    $(@el).html """ 
     <form> 
     <input class="address"/> 
     <input class="name"/> 
     <input class="email"/> 
     </form> 
    """ 

    super 

    @ 


# Instantiate the view 
view = new FooView 
    model: new Backbone.Model 

$("body").html(view.el) 

बाध्यकारी कोड के कार्यान्वयन

class MyView extends Backbone.View 

    render: -> 

    if @model != null 
     # Iterate through all bindings 
     for selector, field of @modelBindings 
     do (selector, field) => 
      console.log "binding #{selector} to #{field}" 
      # When the model changes update the form 
      # elements 
      @model.bind "change:#{field}", (model, val)=> 
      console.log "model[#{field}] => #{selector}" 
      @$(selector).val(val) 

      # When the form changes update the model 
      [event, selector...] = selector.split(" ") 
      selector = selector.join(" ") 
      @$(selector).bind event, (ev)=> 
      console.log "form[#{selector}] => #{field}" 
      data = {} 
      data[field] = @$(ev.target).val() 
      @model.set data 

      # Set the initial value of the form 
      # elements 
      @$(selector).val(@model.get(field)) 

    super 

    @ 

मैं यहाँ इस पर एक छोटे से ब्लॉग लेख लिखा है।

http://xtargets.com/2011/06/11/binding-model-attributes-to-form-elements-with-backbone-js/

4

कैसे रेल से परिचित नहीं रूपों बनाता है लेकिन मैं एक मेरुदंड पुस्तकालय है कि आप जो खोज रहे हैं कर सकते हैं बनाया। आप किसी साधारण से फ़ॉर्म स्कीमा लिख ​​सकते हैं और यह आपके लिए रूपों उत्पन्न करेगा:

https://github.com/powmedia/backbone-forms

0

मुझे लगता है कि आप फार्म के लिए json वस्तु बाध्य करने के लिए अनुमति देता है jQuery प्लगइन लिखा था। मुझे पता है कि यह वही नहीं है जो आप चाहते थे। मैं पहली जगह ऑब्जेक्ट परिभाषा से एचटीएमएल बनाने के लिए इसे विस्तारित करने के बारे में भी सोच रहा था, लेकिन मैंने फैसला किया कि प्लगइन बनाने में थोड़ा मुश्किल हो सकता है जो काफी लचीला होगा। वैसे भी here कुछ स्पष्टीकरण के साथ कोड है। यह अभी भी अल्फा संस्करण में है लेकिन यह काम करता है। अंत में यह मेरे लिए ठीक काम करता है: डी

तुम भी jquery plugin page

पर कोड प्राप्त कर सकते हैं