2012-04-09 6 views
5

Non sono sicuro se questa domanda appartiene a StackOverflow ....Rails/Ruby: Esiste una gemma di backbone in quanto non genera file coffeescript?

Sto provando a seguire insieme a Ryan Bates Railscast su Backbone.js. Utilizza una gemma "backbone-on-rails" che genera file coffeescript. Anche se copio il codice esattamente come ce l'ha lui, sto ricevendo tutti i tipi di errori strani (errori INDENT) e il codice non funziona anche se, come ho detto, sto facendo molta attenzione agli spazi.

In diverse occasioni, sono stato in grado di risolvere un problema ridigitando il codice esattamente come lo avevo io!

La mia produttività, già lento, è ormai a un punto morto con CoffeeScript, quindi mi chiedo se c'è un altro gioiello backbone.js che non fa uso di script caffè

Per esempio, ecco un altro messaggio di errore I ho anche se non c'è indentazione e non ho copiato il codice da internet.

Error: Parse error on line 2: Unexpected 'INDENT' 

Un altro esempio, si suppone che la funzione handleError essere innescato da un errore (e messaggio di avviso), cercando di creare una voce. Funziona su RailsCast ma non nella mia applicazione.

createEntry: (event) -> 
    event.preventDefault() 
    attributes = name: $('#new_entry_name').val() 
    @collection.create attributes, 
     success: -> $('#new_entry')[0].reset() 
     error: @handleError 

    handleError: (entry, response) -> 
    if response.status == 422 
     errors = $.parseJSON(response.responseText).errors 
     for attribute, messages of errors 
     alert "#{attribute} #{message}" for message in messages 
+1

da parte: assicurarsi che siano in uso le schede o due spazi per significare una scheda. Quando si copia codice da Internet, questo può essere frustrante in quanto il codice che si pensa fa parte di una funzione è in realtà la sua stessa cosa b/c (ad esempio) hai usato spazi e il codice che hai incollato usa le schede. –

+2

Perché hai bisogno di una gemma? Faresti molto meglio a fare tutte queste cose a mano mentre imparerai o finirai con una pila di magia che non capisci. –

+0

@muistooshort che sarebbe bello ma non so nemmeno da dove cominciare. Presumo che la gemma abbia installato alcuni backbone nel back-end e dato che non so cosa sia, non so come farlo a mano. – Leahcim

risposta

2

Il più popolare gemma Backbone.js per Rails è questo: https://github.com/codebrew/backbone-rails. Non fornisce funzionalità per la generazione di app Backbone in JavaScript nativo.

È possibile utilizzare la gemma runner-up allo https://github.com/meleyal/backbone-on-rails se si desidera generare un'app Backbone in JavaScript. È sufficiente eseguire i seguenti comandi:

  • Aggiungi gem 'backbone-on-rails' al Gemfile
  • bundle install
  • rails generate backbone:install -j
  • rails generate backbone:scaffold user -j

vivamente vi incoraggio a imparare CoffeeScript, però. Una volta individuata la sintassi, sarai in grado di sviluppare applicazioni lato client a un ritmo sempre più rapido.

+2

Il codebrew on rails sembra essere andato in pensione? Non fornisce più backbone all'avanguardia, che è un problema. Questo mimo è la soluzione: https://github.com/westonplatter/railsy_backbone – Ziggy

8

Nel caso in cui qualcuno trovi questa domanda tramite Google.

# Generate JavaScript 
rails generate backbone:install --javascript 

Fonte: backbone-on-rails README sotto Tricks