2010-09-15 13 views

Respuesta

5

De acuerdo con la API documentation de javascript_include_tag:

devuelve una etiqueta de script HTML para cada una de las fuentes proporcionadas.

Puede pasar el nombre del archivo (la extensión .js es opcional) de los archivos javascript que existen en su directorio público/javascripts para incluirlos en la página actual o puede pasar la ruta completa relativa a la raíz del documento.

No puede incluir recursivamente todos los archivos en su directorio. Sin embargo, siempre se puede escribir algo como la siguiente línea:

javascript_include_tag *Dir[Rails.root.join("public/javascripts/views/**/*.js")] 
+3

método que nos ha proporcionado el trabajo con error. Crea urls absolutas para los archivos. Aquí está la versión modificada que funciona: def collect_javascript_files (ruta) Dir [config.javascripts_dir + Archivo :: SEPARADOR + ruta] .map {| s | s.sub (config.assets_dir, "")} final –

+0

¿cómo se consigue esto para que funcione? Puse 'helper_method: collect_js_files' y tu función en application_controller.rb, pero cuando llamo a' = javascript_include_tag collect_js_files ('public/javascripts/folder') 'en mi html.haml no hace nada (línea vacía en el html generado) esto sería realmente útil si funciona, ¡gracias! – butterywombat

+0

¡No funciona! – Lev

0

Puede utilizar

<%= javascript_include_tag :all %> 

Pero esto sólo funcionará si los scripts se almacenan en el directorio de

RAILS_ROOT/public/javascripts 

0

El siguiente código (no optimizado) debería funcionar en rieles 3.0 o superior

<%= javascript_include_tag Dir[Rails.root.join("public/javascripts/views/**/*.js")].map { |s| s.sub(Rails.root.join("public/javascripts/").to_s, "") } %> 
+0

Esto funciona perfectamente para mí. Muchas gracias. Mis archivos .js están presentes en la carpeta javascripts/controls con la solución que puede agregar todos los archivos en esta carpeta – rahoolm

+0

¡me alegro de que funcionó! –

4

Una solución simple es crear un nuevo archivo js (más conocido como activate.js) e incluir los archivos allí.

< FolderWithFiles> /activate.js: //= require_tree .

Cuestiones relacionadas