posts.js.coffee.erbRubí dentro CoffeeScript
$('.list').infinitescroll {url: '<%= list_posts_path %>', triggerAt: 700, container: $('.container'), appendTo: $('.container'), page: 1}
Esto hace una excepción:
throw Error("NameError: undefined local variable or method `list_posts_path' for #<#:0x00000003557438>\n ...
list_posts_path rendimientos camino correcto si lo uso en el controlador. ¿Qué hice mal?
¿Hay alguna manera de conseguir ese camino en js? – Jonas
@Jonas La mejor manera de hacer que los datos del lado del servidor estén disponibles para el JS es poner una etiqueta '
otra alternativa es establecer un atributo de datos que contiene la ruta en algún elemento relevante ... entonces agarrarlo con el código JS/café
Fuente
2012-08-06 22:47:05 lunaclaire
incluyen
al comienzo del archivo CoffeeScript y entonces usted será capaz de vías de acceso
Fuente
2013-07-31 07:48:25 Rahul
que tenían el mismo problema, y como se mencionó temprano, usted podría hacer algo como:
your_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} !!!"
Fuente
2014-03-13 04:16:09 evbruno