Estoy desarrollando un plugin y deberia registrar un nuevo path donde
se encuentran los javascripts y las imágenes. He buscado por toda la
api y solo he encontrado como registrar views, controllers,
helpers … (de hecho Typus utiliza esto) pero no he encontrado nada
para poder añadir al load_path carpetas que contienen estos archivos.
Alguien ha hecho alguna cosa similar alguna vez?
Yo de momento he hecho que cuando se instale el plugin copie los
archivos a las carpetas correspondientes, pero me parece mucho más
elegante registrar las nuevas carpetas.
Gracias,
Francesc
–
name. Francesc E. i Martí
voice. +34 678.681.603
On Dec 30, 2007, at 9:23 PM, Francesc E. wrote:
Estoy desarrollando un plugin y deberia registrar un nuevo path donde
se encuentran los javascripts y las imágenes.
Yepa! “registrar” en que sentido? Cual seria el uso?
– fxn
Hola,
Estoy desarrollando un plugin y deberia registrar un nuevo path donde
se encuentran los javascripts y las imágenes. He buscado por toda la
api y solo he encontrado como registrar views, controllers,
helpers … (de hecho Typus utiliza esto) pero no he encontrado nada
para poder añadir al load_path carpetas que contienen estos archivos.
Alguien ha hecho alguna cosa similar alguna vez?
esto lo hace el plugin engines. En versiones viejas de Rails se usaba
también para lo que comentas arriba de usar vistas, controllers y
modelos desde tu plugin. En Rails 2 ya puedes hacer todo eso
directamente, pero si quieres usar rutas o ficheros estáticos, engines
sigue siendo una buena
opción.
lo que haces básicamente es crear en tu plugin un directorio assets y
debajo de él creas lo mismo que pondrías en public (images, javascripts,
stylesheets…)
cada vez que la aplicación arranca, copia el directorio assets de cada
plugin a un directorio con el nombre del plugin por debajo de public. A
partir de ahí, en los helpers que usas para incluir imágenes,
javascripts… usas el parámetro :plugin
por ejemplo:
image_tag ‘mi_imagen’, :plugin=>‘typus’
Eso te cargaría la imagen del directorio images del plugin typus.
Saludos,
j
A ver, el plugin tiene 2 javascripts que en estos momentos se copian
una vez el plugin
se ha instalado. Es decir en install.rb han un hook que hace …
require File.dirname(FILE) + ‘/lib/grid_layouts’
GridLayouts.install
Y esto copia los javascripts del plugin a la carpeta public/javascripts.
Lo hago así porque no he encontrado ninguna manera de poder añadir al
load_path
la carpeta donde mi plugin tiene los javascripts para que de esta
manera Rails sepa
que puede cargar los javascripts de mi plugin.
La solución de Javier, aunque es buena, no me acaba de gustar porque
dependo
de los engines …
Un saludo,
Francesc
On Dec 31, 2007, at 5:10 PM, Xavier N. wrote:
Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es
–
name. Francesc E. i Martí
voice. +34 678.681.603
Hola,
Lo hago así porque no he encontrado ninguna manera de poder añadir al
load_pathla carpeta donde mi plugin tiene los javascripts para que de esta
manera Rails sepa
que puede cargar los javascripts de mi plugin.
el problema que tendrías haciendo eso fuera de public es que entonces
estás obligando a que para cargar los javascripts se pase siempre por el
servidor rails, o si no a añadirle configuración a tu web server para
que mapee los directorios correspondientes. Si lo cuelgas por debajo de
public lo puede servir directamente el servidor web sin mayor problema.
La solución de Javier, aunque es buena, no me acaba de gustar porque dependo de los engines …
yep… siempre puedes mirar cómo lo hace engines y hacerte lo mismo…
aunque tienes la ventaja de que si usas engines sabes que lo van a
actualizar. Sin ir más lejos ya hay versión de engines para rails 2. Lo
malo de meterle mano tú a cosas internas de rails es que de una
versión para otra te puede dejar de funcionar, y si usas algo que mantiene otro,
eso que te ahorras 
saludos,
javier ramírez
Bueno, de momento copiaré los js porque ya lo tengo y funciona. Lo que
pasa es que
cada vez que pienso en como lo he hecho digo … seguro que debe haber
alguna manera
para que pueda añadir mi path de los javascripts y de imagenes de la
misma manera que
hago con los controladores y vistas, pero claro, ahora que lo
pienso … estos archivos los
sirve el webserver y no Rails por lo tanto …
Gracias por la ayuda. Estos dias he aprovechado para extraer algunas
funcionalidades
que utilizo como plugins.
- GridLayouts es para mostrar un grid en las paginas y poder maquetar
mejor.
- Stagging que genera otro entorno en Rails y añade una autenticación
por http.
Esto lo uso normalmente cuando enseño los proyectos a mis clientes,
lo meto en
un servidor de stagging al que protejo con un password. En la parte
superior de la
pantalla aparece tambien un mensaje para que puedan desde allí
insertar nuevos
tickets en Trac. (el plugin està a medias, pero hoy no lo termino que
me voy a
despedir el año con mi mujer y no creo que le haga gracia tener que
preparlo todo
sola)
Apa, que vagi be.
Francesc
On Dec 31, 2007, at 6:28 PM, javier ramirez wrote:
por el
actualizar. Sin ir más lejos ya hay versión de engines para rails 2.
Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es
–
name. Francesc E. i Martí
voice. +34 678.681.603