Can I have a ruby code inside a java script function written in .js
file?
When I tried it, i got an error.
e.g. consider following function inside myscript.js file
myscript.js
function sayHi
{
<%name=“xyz”%>;
alert(‘HI <%=name%>’);
}
But this works if I have above function in a rhtml file inside
tag.
no, you cannot have ruby code inside a standalone js file, as it is
your browser that requests the file directly from the webserver. it
is NOT being parsed/interpreted/executed on the server.
when you put the ruby code into the rhtml template within
tags then that code IS being parsed as part of the template file.
Can I have a ruby code inside a java script function written in .js
file?
Yes and no. You can’t have Ruby code within a .js file stored in the
public directory, but you could generate a javascript file from a
controller (this will require some disabling any layouts, etc.).
Your HTML will probably need to reference the generated javascript
“file” directly, rather than through Rails’ helper function.
Can I have a ruby code inside a java script function written in .js
file?
When I tried it, i got an error.
e.g. consider following function inside myscript.js file
myscript.js
function sayHi
{
<%name=“xyz”%>;
alert(‘HI <%=name%>’);
}
But this works if I have above function in a rhtml file inside
tag.
Any inputs in this regard will be really helpful.
Thanks and Regards,
Medha.
You can’t embed ruby in a static js file (just as you can’t in a static
HTML file). You can put it in an rjs file, just as you can in an rhtml file.
add an action called myscript, a view called myscript.rjs and put a
script tag into your rhtml file with src = /controller/myscript
Alan
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.