Thanks, Ruby-Forum.com. I did have //= require_tree . in the manifest and didn't think too much about it, so thanks for pointing that out!
I had gone through that documentation, but I just wasn't finding the exact info I was looking for. It really isn't a controller-specific javascript, it's a view-specific one, and I didn't want it in the manifest (application.js). But anyway, I did finally figure out one way to accomplish this after going through the doc again and some good old search. Here's what I ended up doing in case someone else was wondering the same. If you have a better solution, please do add a reply! Inside myView.html.erb - the only view that needs this vendor js: (javascript file is at APP_ROOT/vendor/assets/javascripts/subfolder/vendorJavascriptName.js) <% content_for :head do %> <%= javascript_include_tag "subfolder/vendorJavascriptName", 'data-turbolinks-track' => true %> <% end %> Inside the layout (application.html.erb), add <%= yield :head %> <!DOCTYPE html> <html> <head> <title>Blog</title> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> *<%= yield :head %>* <%= csrf_meta_tags %> </head> <body> <%= yield %> </body> </html> Inside config/environments/development.rb config.assets.precompile += %w( subfolder/vendorJavascriptName.js ) After these three changes are made, restart server and it works as expected with the one view getting this extra vendor javascript. Note that I didn't have a config/initializers/assets.rb like the documentation says (precompiling section), so I edited development.rb instead. Can I just simply add a assets.rb file so all environments gets this same line? Thanks, Kumi On Thursday, August 7, 2014 1:56:55 PM UTC-7, Ruby-Forum.com User wrote: > > unknown wrote in post #1154022: > > Hi all, > > > > Sorry if this has already been discussed, but I haven't found any post > > matching what I'm looking for. (If there is, please point me to it!) > > > > I'd like to include a javascript in the header section, but just for one > > view. I went through the guides and I understand you can do something > > like > > this inside a particular view: > > > > <% content_for :head do %> > > <script src="(path_to_)myJavascript.js"></script> > > <% end %> > > > > However, if I add myJavascript.js in app/assets/javascripts, it gets > > loaded > > for every single page. > > By default a new Rails application will load all javascript/coffeescript > files under the app/assets/javascripts directory and all subdirectories. > > Look for the following line in your application.js manifest file: > > //= require_tree . > > That does what it sounds like it would. It loads all javascripts in the > entire subtree. This might be fine for very simple application, or for > getting started, but probably not what you want in a more complex > application. > > This is explained in further detail here: > > http://guides.rubyonrails.org/asset_pipeline.html#controller-specific-assets > > -- > Posted via http://www.ruby-forum.com/. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/b805585c-6ff4-4958-8211-44f08f29d3fd%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.