Rubin in CoffeeScript

8

posts.js.coffee.erb

%Vor%

Dies macht eine Ausnahme:

  

throw Error ("NameError: Undefinierte lokale Variable oder Methode   'list_posts_path' für # & lt; #: 0x00000003557438 & gt; \ n ...

list_posts_path gibt den korrekten Pfad zurück, wenn ich ihn im Controller verwende. Was mache ich falsch?

    
Jonas 12.09.2011, 17:23
quelle

4 Antworten

12

Ja, tu das nicht. :)

Sie befinden sich nicht in einem Controller, obwohl Sie ERB verwenden. Der coffeescript-Compiler weiß nichts über Ihre Routen oder Routing-Helfer, auf die Ihre Ansichten normalerweise über den Controller zugreifen.

    
karmajunkie 12.09.2011, 17:39
quelle
7

Ich hatte das gleiche Problem, und wie bereits erwähnt, könnten Sie etwas tun wie:

Ihre_layout.html.erb

<%= render partial: 'your_partial.html.erb', locals: { action_url: list_posts_path } %>

_your_partial.html.erb

<div id='container' data-action-url="<%= action_url %>" .... >

posts.js.coffee.erb

jQuery -> url = $('#container').data('action-url') console.log "loading url: #{url} !!!"

    
evbruno 13.03.2014 04:16
quelle
3

Eine andere Alternative besteht darin, ein Datenattribut zu setzen, das Ihren Pfad auf einem relevanten Element hält ... und dann mit dem js / coffee code

    
lunaclaire 06.08.2012 22:47
quelle
2

enthält

%Vor%

am Anfang der coffeescript-Datei und dann können Sie auf Routen zugreifen

    
Rahul 31.07.2013 07:48
quelle

Tags und Links