Luke Lutman schrieb: > Yehuda Katz wrote: >> 1) Are you using Rails? > Yes :-) > >> 3) Would you prefer an approach that generated JS by writing Ruby >> helpers that generated jQuery code, or an approach that made is easier >> to link up existing jQuery code into Rails? >> 4) If you've used jQuery with Rails, what issues have you run into > I'd prefer not to have helpers that generate js -- I can write javascript > myself. I'd rather see > the integration issues solved. One of the best things about rails is that it > lets you bypass all > the magic when you need to. Helpers (i.e. form_remote, etc.) can't handle > every situation, so > having accessible building blocks is crucial to me. > > I realize there is a group of people who'd like to just write everything in > Ruby (i.e. get to > use javascript without having to know javascript), but I think that's a red > herring. Plus, those > concerns can be addressed by more complicated helpers, built on the more > basic ones. > > Here are the main issues I've run into: > + unobtrusively including js specific to a view > + targeting elements on a page without adding ID's all over the place > + concatenation, compression and caching (i.e. cache the packed version of a > bunch of scripts) > > I think what I'd like (ideally) would be a basic helper (that wouldn't even > need to be > jQuery-specific) that I could call from any view which would concatenate, > compress, and cache > (fragment cache? page cache?) bits of javascript or javascript files, and add > a <script > src="..."></script> tag to the <head>. If you have a plugin (or some custom > code in an external > file) that you only use in a few places, you could include it alongside > inline script (if it was > more widely used, it would go in your application-wide js file). > > So, in whatever.rhtml, do something like: > > <% javascript :file => 'path/to/plugin.js' %> > <% javascript :text => %{ $('p').css('color','blue'); } %> > <p>Whatever...</p> > <% javascript :text => %{ $('p').css('font-size', '2em'); }% %> > > And get: > > <html> > <head> > <script type="text/javascript" src="whatever.js"></script> > </head> > <body> > <p>Whatever...</p> > </body> > </html> > > In a way, what I'm picturing is very jQuery-centric -- there's a core > utility, plus plugins > (i.e. more complex, task-specific helpers). > > Luke
Luke, have you tried to use the AssetPackager plugin? It is not totally automatic as you have to define the scripts to be packed in one yml, but thats okay for me. I think merging whatever JavaScript there is into a file is not always good for files that are only included in special views, because that would result in a file that would not be loaded from cache because of the (minor) differences. -- Klaus _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/