Reputation: 15501
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?
Upvotes: 5
Views: 11279
Reputation: 3137
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.
Upvotes: 10
Reputation: 8941
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.
Upvotes: 3