Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use rails code / pass variables to a .coffee javascript file?

What would be the best way to pass values inside a .coffee script? Renaming the file to .erb breaks my app so what are the alternatives?

like image 301
Rubytastic Avatar asked Feb 10 '12 07:02

Rubytastic


2 Answers

checkout this rails guide. this section : 2.3.3 JavaScript/CoffeeScript and ERB You can use rails code in .coffee-script file. It's built-in feature.

2nd Edit___

If the file is in assets pipeline then you need to add .erb extension at end of coffee file so that the rails tag works otherwise there is no need to add .erb extension if you moves the file in views folder rails tag works there.

like image 153
Muhammad Sannan Khalid Avatar answered Nov 13 '22 15:11

Muhammad Sannan Khalid


You can either (1) move the file into your app/views directory (so it won't be in the asset pipeline), or (2) pass the information via query string.

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

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

(2) I'm using this function

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

Untested but this is the general idea.

like image 39
bricker Avatar answered Nov 13 '22 14:11

bricker