Como ya se ha mencionado Rahul, application.js corriente es precompilado y el lo mismo para cada acción. Por lo tanto, no depende de un controlador en particular. Application.js debe contener el javascript que necesita para todas (o la mayoría) de sus acciones.
Sin embargo, puede ampliar el diseño de su aplicación con diseños anidados. Supongamos la siguiente estructura:
... app/view/layouts/application.html.erb ...
<html>
<head>
<%= javascript_include_tag 'application' %>
<%= yield :javascripts %>
<%= stylesheet_link_tag 'application' %>
<%= yield :stylesheets %>
</head>
<body>
<%= yield %>
</body>
</html>
y a:
... app/view/layouts/products.html.erb ...
<% content_for :stylesheets do %>
<%= stylesheet_include_tag 'products' %>
<% end %>
<% content_for :javascripts do %>
<%= javascript_include_tag 'products' %>
<% end %>
<%= render :template => 'layouts/application' %>
lo que sólo tiene que añadir/requerir su estilo y JavaScripts los productos archivos. Aviso, todo el código aquí debe leerse como pseudo-código, no lo probé.
Información extraída del "official" Render-Guide.
Acabo de ver Railscast 279, en el que Ryan menciona que v puede especificar qué carpetas desea agregar con el archivo application.js usando require_directory en lugar de require_tree en los piñones. Quiero saber si hay formas similares de agregar js específicos del controlador. – Rahul
Ryan mencionó QUÉ CARPETAS quieres COMPILAR, no está en tiempo de ejecución :) – fl00r