How to detect RAILS_ENV in pure js file?

I need to check Rails running environment type in a js file such as
application.js.
I can check that like " if RAILS_ENV == ‘development’ …" in
a .rb/.rhtml/.rjs,but I need to do the detection in a pure javascript
file.

I try these first (append to application.js):
function appEnv(env)
{
var current_env = ‘’;
var scripts = $$(‘script[src=“applications.js”]’);
if(scripts.first())
{

current_env = 'production';

}
else
{
current_env = ‘development’;
}
return (env ? current_env == env.toLowerCase() : current_env );
}

then I use it as:
if(appEnv(‘development’))
{
// do sth
}

or

if(appEnv() == ‘production’ )
{
// do sth
}

but when I change the server running under production type.I found the
scripts’ src still output with a time stamp string like :

not my expect as:

because I have many layout files, that would be a hell if have to
change each one .

I have an idea is to cover the “javascript_path” helper, to add some
attribute make it return as:

Then I could check that tag with js.
But I don’t how to .

Any suggestion?

-RainChen

On Wed, 2007-07-11 at 03:00 -0700, RainChen wrote:

var scripts = $$(‘script[src=“applications.js”]’);
}
{
script>
javascript" env=“development”>

Then I could check that tag with js.
But I don’t how to .

Any suggestion?

You can do javascript_include_tag(‘application’, :class => RAILS_ENV)

I’m pretty sure “env” is not a valid attribute for script tags, but that
only matters if you’re a purist.


Tore D. [email protected]

I dont what to modify each layout file.Is there a better way?