# Injecting Ruby code into a javascript file?

**URL:** <https://discuss.rubyonrails.org/t/injecting-ruby-code-into-a-javascript-file/41594>\
**Category:** rubyonrails-talk\
**Created:** [April 15, 2009, 7:42pm UTC](https://discuss.rubyonrails.org/t/injecting-ruby-code-into-a-javascript-file/41594 "2009-04-15T19:42:19Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Philip\_Hallstrom](https://avatars.discourse-cdn.com/v4/letter/p/bbe5ce/32.png) [@Philip\_Hallstrom](https://discuss.rubyonrails.org/u/Philip_Hallstrom)\
**Post date:** [April 15, 2009, 7:42pm UTC](https://discuss.rubyonrails.org/t/injecting-ruby-code-into-a-javascript-file/41594/1 "2009-04-15T19:42:19Z")

</div>

> as far as I know it's possible to inject Ruby code into javascript code if the javascript code is included in a view/page.
> 
> But is this also possible when the javascript code is in a separate .js file that is located in the folder "public/javascripts"?

No. The files in public/javascripts never go through Rails. You could always create a controller/view to generate JS files though and then treat them similarly.

Or consider setting some initial JS objects or JSON strings that your JS methods can look at when doing their thing.

---

<div class="post-metadata">

**Author:** ![11175](https://avatars.discourse-cdn.com/v4/letter/1/8edcca/32.png) [@11175](https://discuss.rubyonrails.org/u/11175)\
**Post date:** [April 15, 2009, 8:23pm UTC](https://discuss.rubyonrails.org/t/injecting-ruby-code-into-a-javascript-file/41594/2 "2009-04-15T20:23:43Z")

</div>

Philip Hallstrom wrote: [...]

> Or consider setting some initial JS objects or JSON strings that your JS methods can look at when doing their thing.

If you do it this way, the browser can cache the JS and not hammer your server. I highly recommend this approach rather than dynamically generating JS.

Best,

---

<div class="post-metadata">

**Author:** ![Jason\_Arora](https://avatars.discourse-cdn.com/v4/letter/j/57b2e6/32.png) [@Jason\_Arora](https://discuss.rubyonrails.org/u/Jason_Arora)\
**Post date:** [April 16, 2009, 11:04pm UTC](https://discuss.rubyonrails.org/t/injecting-ruby-code-into-a-javascript-file/41594/3 "2009-04-16T23:04:51Z")

</div>

I think this is what you are looking for:

generate dynamic javascripts in the javascripts/ folder:

> **[\#88 Dynamic Select Menus - RailsCasts](http://railscasts.com/episodes/88-dynamic-select-menus)**
>
> Short Ruby on Rails screencasts containing tips, tricks and tutorials. Great for both novice and experienced web developers.

You can cache the JS with standard Rails caching mechanisms. Here is how:

> **[\#89 Page Caching - RailsCasts](http://railscasts.com/episodes/89-page-caching)**
>
> Short Ruby on Rails screencasts containing tips, tricks and tutorials. Great for both novice and experienced web developers.
