5

¿Cuál sería la mejor manera de pasar valores dentro de un script .coffee? Cambiar el nombre del archivo a .erb rompe mi aplicación, ¿cuáles son las alternativas?¿Cómo usar el código de carriles/variables de paso en un archivo .coffee javascript?

+0

posible duplicado de [Rails: variable de instancia del controlador de acceso en CoffeeScript o archivo de activos de JavaScript] (http://stackoverflow.com/questions/8513912/rails-access-controller-instance-variable-in-cfefeescript-or-javascript -asset-f) –

Respuesta

9

revisar esta guía de carriles. esta sección: 2.3.3 JavaScript/CoffeeScript and ERB Puede usar el código de los rieles en el archivo .coffee-script. Es una característica incorporada.

segundo Edit___

Si el archivo está en la tubería activos a continuación, es necesario agregar la extensión .erb al final del archivo de café, así que la etiqueta de rieles funciona de otro modo no hay necesidad de añadir la extensión .erb si mueve el archivo en la carpeta de vistas. La etiqueta de rieles funciona allí.

+0

Creo que el documento que ha vinculado indica que necesita cambiar la extensión de .coffee a .coffee.erb –

+0

verifique la porción de edición –

+0

Añadiendo 'erb' al archivo trabajado para mí !!! –

3

Puede (1) mover el archivo al directorio de su aplicación/vistas (para que no esté en la canalización de activos), o (2) pasar la información a través de la cadena de consulta.

(1) app/views/usuarios/script.js.coffee.erb

var username = <%= @user.name %> 

(2) Estoy usando la función this

<%= link_to "User", user_path(@user, :username => @user.name) %> 
... 
var username = getParameterByName('username') 

no probado, pero esta es la idea general .

Cuestiones relacionadas