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

11,093

Solution 1

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.

Solution 2

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.

Share:
11,093
Rubytastic
Author by

Rubytastic

Just a coder!

Updated on June 10, 2022

Comments

  • Rubytastic
    Rubytastic almost 2 years

    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?