Can I have a ruby code inside a .js file?

Hi all,

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.

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.

Chris

On Jan 2, 2007, at 10:26 AM, Medha K. wrote:

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.

-faisal

On 02 Jan 2007, at 18:06, Faisal N Jawdat wrote:

Can I have a ruby code inside a java script function written
in .js file?

http://www.danwebb.net/2006/11/24/minusmor-released

Best regards

Peter De Berdt

Medha K. wrote:

Hi all,

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