He abierto este hilo porque me ha surgido una duda especifica de un
metodo tras estar trasteando con el script/runner. Os explico:
Tengo un problema a la hora de actualizar el usuario del dia, y seguro
que es por las rutas. A la hora de asignar el usuario del dia lo que
hacemos es dentro de un grupo de usuarios que se han seleccionado
comprobar cuales tienen avatar y en funcion de esto se asignan como
tales o descartarlos como usuarios del dia.
En el modelo del avatar loq ue hacemos primero es entrar en la funcion
initialize ue es la que genera el error. Esta lo unico que hace es crear
DIRECTORIO en duncion de si exitia o no.
DIRECTORIO = File.join(“public”, “images”, “avatar”)
def initialize(usuario, imagen=nil)
@usuario = usuario
@imagen = imagen
Dir.mkdir(DIRECTORIO) unless File.directory?(DIRECTORIO)
end
El problema esta aqui, pues el log de cron muestra lo sigueinte:
From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron jose@Jose /opt/local/bin/ruby
/Users/jose/mimandote.com/script/runner ‘Usuario.new_usr_dia’
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=jose>
X-Cron-Env: <USER=jose>
X-Cron-Env: <HOME=/Users/jose>
Message-Id: [email protected]
Date: Tue, 21 Apr 2009 13:07:03 +0200 (CEST)
/opt/local/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/commands/runner.rb:47:
/Users/jose/mimandote.com/app/models/avatar.rb:21:in mkdir': No such file or directory - public/images/avatar (Errno::ENOENT) from /Users/jose/mimandote.com/app/models/avatar.rb:21:in
initialize’
from /Users/jose/mimandote.com/app/models/usuario.rb:169:in
new' from /Users/jose/mimandote.com/app/models/usuario.rb:169:in
avatar’
from /Users/jose/mimandote.com/app/models/usuario.rb:251:in
new_usr_dia' from /Users/jose/mimandote.com/app/models/usuario.rb:250:in
each’
from /Users/jose/mimandote.com/app/models/usuario.rb:250:in
new_usr_dia' from (eval):1 from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
eval’
from
/opt/local/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/commands/runner.rb:47
from
/opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
gem_original_require' from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
require’
from /Users/jose/mimandote.com/script/runner:3
Se esta quejando de que no existe la ruta public/images/avatar. Que
deberia hacer, pasarla como una ruta absoluta??. Esta claro que en ese
caso no valdria uan al estilo Users/jose/mimandote.com/public/… y
tendria que escribir la del servidor, verdad?. Como puedo obtener la
ruta del servidor, la verdad es que estoy un poco perdido en ese
aspecto?