Rutas al subir a servidor

Hola, chicos,

tengo una duda con respecto a como maneja las rutas RoR. Tengo una
aplicacion bajo http:/midominio.com/ToDo

Esta aplicacion no cogia las imagenes, pues el
link_to_image “done” generaba el código /images/done.png, y la verdadera
localizacion de mis imagenes estaria en /ToDo/public/images/done.png.

Esto no seria desconcertante sino fuera porque la hoja de estilos si la
coge bien, la coge desde /ToDo/public.

Pues bien, he cambiado en el environment/production.rb el sitio donde
debería localizar estas cosas, de manera que en mi caso sería:
config.action_controller.asset_host = “/ToDo” ó “/ToDo/public”
Pero sigue sin coger las imágenes (consecuentemente, la hoja de estilos
ha dejado de funcionar, porque el codigo generado es /ToDo/ToDo/…)

Sugerencias? :slight_smile:

On Nov 13, 2006, at 11:55 PM, Damaris F. wrote:

Esto no seria desconcertante sino fuera porque la hoja de estilos
si la
coge bien, la coge desde /ToDo/public.

Que URL se genero para la hoja de estilos con esa configuracion?
Sirve la hoja de estilos un servidor distinto al de las imagenes?

Pues bien, he cambiado en el environment/production.rb el sitio donde
debería localizar estas cosas, de manera que en mi caso sería:
config.action_controller.asset_host = “/ToDo” ó “/ToDo/public”
Pero sigue sin coger las imágenes (consecuentemente, la hoja de
estilos
ha dejado de funcionar, porque el codigo generado es /ToDo/ToDo/…)

Por que no funcionan las imagenes con esta segunda configuracion? Que
URL se genera?

– fxn

La hoja de estilos se encuentra en el mismo servidor que la de imágenes.
Ambas bajo el directorio public, una bajo stylesheets/ y otra bajo
images/.

La ruta que aparece sin modificar el production es:

  • Para la hoja de estilos: ToDo/public/stylesheets/todo.css
  • Para imágenes: images/todo.png

Por alguna razon rails sí entiende el dominio en la hoja de estilos pero
no en las imagenes.

Al cambiar la configuración, el archivo production.rb, las rutas quedan:

  • Para la hoja de estilos: Todo/Todo/public/stylesheets/todo.css
  • Para las imángees: images/todo.png

De nuevo rails hace caso a los cambios sólo para la hoja de estilos…

Gracias.

Xavier N. wrote:

On Nov 13, 2006, at 11:55 PM, Damaris F. wrote:

Esto no seria desconcertante sino fuera porque la hoja de estilos
si la
coge bien, la coge desde /ToDo/public.

Que URL se genero para la hoja de estilos con esa configuracion?
Sirve la hoja de estilos un servidor distinto al de las imagenes?

Pues bien, he cambiado en el environment/production.rb el sitio donde
deberí¡ localizar estas cosas, de manera que en mi caso serí¡º
config.action_controller.asset_host = “/ToDo” ó ¦±uot;/ToDo/public"
Pero sigue sin coger las im᧥nes (consecuentemente, la hoja de
estilos
ha dejado de funcionar, porque el codigo generado es /ToDo/ToDo/…)

Por que no funcionan las imagenes con esta segunda configuracion? Que
URL se genera?

– fxn

On Nov 16, 2006, at 10:23 PM, Damaris F. wrote:

estilos pero
no en las imagenes.

Al cambiar la configuración, el archivo production.rb, las rutas
quedan:

  • Para la hoja de estilos: Todo/Todo/public/stylesheets/todo.css
  • Para las imángees: images/todo.png

Hay algo sospecho en lo que pones, los helpers usados normal crean
paths absolutos como

/images/todo.png

Por otro lado, el src de una imagen se calcula con este metodo

def compute_public_path(source, dir, ext)
source = “/#{dir}/#{source}” unless source.first == “/” ||
source.include?(":")
source << “.#{ext}” unless source.split("/").last.include?(".")
source << ‘?’ + rails_asset_id(source) if defined?(RAILS_ROOT)
&& %r{^[-a-z]+://} !~ source
source = “#{@controller.request.relative_url_root}#{source}”
unless %r{^[-a-z]+://} =~ source
source = ActionController::Base.asset_host + source unless
source.include?(":")
source
end

que usa ActionController::Base.asset_host salvo la condicion que se
puede ver. Hace eso que suene alguna campana?

– fxn

Pfff, ni idea :frowning:
Yo no he tocado nada de eso… :frowning: