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.

Reply via email to