2012-04-09 4 views
5

Nie jestem pewien, czy to pytanie należy do stackoverflow ....Rails/Ruby: Czy istnieje kamień szlachetny, który nie generuje plików coffeescript?

Próbuję śledzić wraz z Ryan Bates Railscast na Backbone.js. Używa klejnotowego "szkieletu na szynach", który generuje pliki coffeescript. Nawet jeśli skopiuję kod dokładnie tak jak on, otrzymuję różnego rodzaju dziwne błędy (błędy INDENT), a kod po prostu nie działa, chociaż, jak już mówiłem, bardzo uważam na przestrzenie.

Kilkakrotnie udało mi się naprawić problem, przepisując kod dokładnie tak, jak go miałem!

Moja produktywność, już powoli, teraz miele się zatrzymał przy użyciu coffeescript, więc zastanawiam się, czy istnieje inny backbone.js klejnot, który nie korzysta z coffeescript

Na przykład, oto kolejny komunikat o błędzie I pomimo tego, że nie ma wcięć i nie skopiowałem kodu z Internetu.

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

Innym przykładem, funkcja HandleError ma być wyzwalany w przypadku błędu (i komunikat alarmowy) próbuje utworzyć wpis. Działa na RailsCast, ale nie w mojej aplikacji.

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

bok: upewnij się, że jesteś albo przy użyciu zakładki lub dwie przestrzenie, które mają oznaczać kartę. Podczas kopiowania kodu z Internetu może to być frustrujące, ponieważ kod, który Twoim zdaniem jest częścią funkcji, jest naprawdę b/c (na przykład) użyłeś spacji, a wklejony kod używa kart. –

+2

Dlaczego potrzebujesz w ogóle klejnot? O wiele lepiej byłoby robić to wszystko ręcznie podczas nauki, albo skończy się stosem magii, którego nie rozumiesz. –

+0

@muistooshort, byłoby miło, ale nie wiem nawet, od czego zacząć. Zakładam, że klejnot zainstalował jakieś elementy szkieletowe w backendach, a ponieważ nie wiem, co to jest, nie wiem, jak to zrobić ręcznie. – Leahcim

Odpowiedz

2

Najbardziej popularnym klejnotem Backbone.js dla Railsów jest: https://github.com/codebrew/backbone-rails. Nie zapewnia funkcjonalności do generowania aplikacji szkieletowych w natywnym kodzie JavaScript.

Możesz użyć zdobywcy drugiego miejsca przy https://github.com/meleyal/backbone-on-rails, jeśli chcesz wygenerować aplikację szkieletową w JavaScript. Wystarczy uruchomić następujące polecenia:

  • gem 'backbone-on-rails' Dodaj do listy Gemfile
  • bundle install
  • rails generate backbone:install -j
  • rails generate backbone:scaffold user -j

Gorąco zachęcamy do zapoznania się coffeescript, choć. Po nadpisaniu składni możliwe będzie tworzenie aplikacji po stronie klienta w coraz szybszym tempie.

+2

Wydaje się, że kolega z kodeksu na szynach przeszedł na emeryturę? Nie zapewnia już ostro zarysowanego kręgosłupa, co stanowi problem. Ten mimik to rozwiązanie: https://github.com/westonplatter/railsy_backbone – Ziggy

8

Jeśli ktoś znajdzie to pytanie za pośrednictwem Google.

# Generate JavaScript 
rails generate backbone:install --javascript 

Źródło: backbone-on-rails README pod Tricks