Dynamic javascript

I'm coming from a long period of CakePHP development. One of the more useful features of that framework was the ability to add any inline javascript in a view, with dynamic php codeblock-generated output (variables, framework generated URLs, etc), to a javascript buffer, and then have CakePHP render it inside an inline script tag just before the </body>, or, my preferred solution, have CakePHP automatically condense the buffer and output it to a uniquely- named .js file on the filesystem. This file could then obviously be cached by the browser, and was recreated whenever the structure of the view/javascript changed.

Is there a similar feature in Rails, or a Gem that offers this functionality? Otherwise, what would be the best practice in Rails for unavoidable inline javascript output?

Many thanks

CU wrote:

I'm coming from a long period of CakePHP development. One of the more useful features of that framework was the ability to add any inline javascript in a view, with dynamic php codeblock-generated output (variables, framework generated URLs, etc), to a javascript buffer, and then have CakePHP render it inside an inline script tag just before the </body>, or, my preferred solution, have CakePHP automatically condense the buffer and output it to a uniquely- named .js file on the filesystem. This file could then obviously be cached by the browser, and was recreated whenever the structure of the view/javascript changed.

Is there a similar feature in Rails, or a Gem that offers this functionality?

Well, there's content_for, for starters. I think Rails provides some other methods for combining JS, but I'm not certain.

Otherwise, what would be the best practice in Rails for unavoidable inline javascript output?

Just don't write inline JS to start with!

Rails 3 is more helpful in this respect than Rails 2, or so I'm told.

Many thanks

Best,

I thought of content_for literally 15 seconds after clicking send on this post :slight_smile:

I'm using Rails3, and you're right, there is a heavy focus on moving away from inline JS. Perhaps I should move away from Cake's bad practices, rather than try to find equivalents for them in Rails :slight_smile:

Thanks for the help!