Fechas anteriores a 1970

Hola buenas!. No tengo del todo claro esto, ya que también he leído
diferencias entre windows y linux, pero parece ser que rails utiliza
para actualizar fechas con la base de datos, dos clases: dateTime y
date. Y resulta que por ser más rápida utiliza dateTime que sólo permite
fechas entre 1970 y… ¿2038?.

Estuve buscando solución y en la lista de correo inglesa encontré esto:

http://dev.rubyonrails.org/ticket/3430

Ahí hay una especie de archivo ¿.patch? que debe ser que se puede
ejecutar de alguna forma para parchear la clase sqlserver_adapter. Pero
después de 2 o 3 intentos inútiles decidí (haciéndome copia claro)
modificarlo yo manualmente. Pero nada, no funciona, siguen fallando las
fechas anteriores al 1 de Enero de 1970.

Así pues alguien sabe como podría solucionar este problema?

Un saludo y gracias de antemano.

P.D.- Por si sirve de algo, uso sql server 2005.

On Aug 8, 2007, at 8:31 AM, Marcos C. wrote:

Un saludo y gracias de antemano.

P.D.- Por si sirve de algo, uso sql server 2005.

Hace pocos dias salio un plugin que resuelve esto (no lo he usado):

http://agilewebdevelopment.com/plugins/sqlserver_datetime_fix

– fxn

Muchas gracias, pero como se instalan estos plugins?

On 8/8/07, Marcos C. [email protected] wrote:

Muchas gracias, pero como se instalan estos plugins?

Siempre suponiendo que estás parado en la raíz de tu
aplicación.
Linux:

$ ./script/plugin install
http://usefulrailsplugins.googlecode.com/svn/trunk/plugins/sqlserver_datetime_fix

Windows:

ruby script\plugin install http://usefulrailsplugins.googlecode.com/svn/trunk/plugins/sqlserver_datetime_fix

Para aplicar un patch, deberías estar trabajando con Rails en tu
directorio vendor. Una forma de hacerlo es (si querés usar Edge, o sea
la última versión del repositorio):

$ rake rails:freeze:edge

Una vez que tenés esto, te parás en el directorio vendor/rails, te
bajás el archivo .patch y hacés:

$ patch -p0 < archivo.patch

Si estás en Windows, hay una versión de este utilitario patch [1].

Saludos!

[1] http://gnuwin32.sourceforge.net/packages/patch.htm

Hola buenas! Joer muchas gracias por la explicación. Siento ser tan
pesado (me está matando el ruby, cada día me siento más inútil) pero es
que no puedo instalar plugins así, porque estoy bajo un proxy (estuve
buscando información sobre como configurarlo, pero no conseguí tampoco
que funcionase (que novedad)). Hay alguna forma de instalar plugins
manualmente?.

En cuanto a la otra forma (instalando el .patch) pues no se muy bien que
es eso de “Edge”, aun así he probado ha hacerlo pero me dice

(in C:/Documents and Settings/mcalleja/Escritorio/Gestion
Interna/GI_RRHH)
c:/ruby/bin/rake.bat: No such file or directory - svn --version
ERROR: Must have subversion (svn) available in the PATH to lock this
application
to Edge Rails
rake aborted!
exit

(See full trace by running task with --trace)

Maldito ruby, no consigo que me funcione nada. Cada paso que doy, tengo
que retroceder un par.

Un saludo.

Marcos C. escribió:

(in C:/Documents and Settings/mcalleja/Escritorio/Gestion
Interna/GI_RRHH)
c:/ruby/bin/rake.bat: No such file or directory - svn --version
ERROR: Must have subversion (svn) available in the PATH to lock this
application
to Edge Rails
rake aborted!
exit

(See full trace by running task with --trace)

Necesitas tener el ejecutable de subversion (svn) en el PATH
¿Tienes instalado algún cliente para subversion?

Maldito ruby, no consigo que me funcione nada.

Hereje! :smiley: Ahora en serio: muchos de los problemas que comentas en la
lista no tienen nada que ver con Ruby, así que tendrás que armarte de
paciencia y documentarte bastante :wink:

No utilizo subversion. No hay ninguna manera de instalar los plugins de
forma manual??

Hola,

No utilizo subversion. No hay ninguna manera de instalar los plugins de
forma manual??

Tienes dos opciones… una es no nadar contra corriente y bajarte el
svn. Ocupa poco, no te molesta para nada, y aunque no lo uses para otra
cosa porque uses otro control de versiones (porque eso sí lo usas, no?)
es lo que rails necesita para instalar plugins. Digamos que sería mi
opción recomendada.

La segunda opción es bajarte el código del plugin, meterlo en tu
directorio vendor/plugins y ejecutar el script install.rb que está
dentro del plugin. Es lo que hace realmente el script de rails.

Como los problema de instalación son frecuentes, empieza a haber cierta
tendencia a que los plugins provean una tarea de instalación propia. Eso
depende de cada plugin y estará en su documentación. Para esos casos se
ejecuta vía rake.

Saludos,

javier ramírez

Me he instalado una version del subversion para eclipse (subclipse) y he
intentado hacer que funcionase configurando el proxy en las preferencias
del eclipse pero nada, no tira, me sigue dando problemas el maldito
proxy. Así pues y ya a la desesperada me he metido en la clase y he
cambiado a mano el código de los métodos que se cambiaban en la clase
del plugin. Y para más inri, no me ha solucionado el problema del error
de las fechas. Así que creo que me voy a olvidar 1 poco del tema, y ya
volveré a él dentro de unos dias.

Un saludo y gracias a todos.

Que tal, tengo una duda sobre usar ajax o simple javascript.

Esto es ante una lista de un catalogo de clase de animal con radio
buttons:
Mamifero
Ave
Pez
Otro

Al seleccionar otro, debe aparecer un campo para nutrir el catalogo de
clas
de animal y esto lo hago simplemente agregando una :onclick a cada
radio,
para que cuando sea seleccionado otro poner el valor al div
display:inline;
en lugar de display:none; que ocurria en los otros casos, y pues me
funciona
esto bien, pero esto hago simplemente con javascript y no con ajax,
quisiera
saber si esto a la larga me puede provocar algun problema, o si es mejor
hacerlo con ajax, debido a q tengo varias partes con un comportamiento
similar.

Saludos !


Windows Live Spaces en Prodigy/MSN Spaces: Crea tu propio espacio.
http://spaces.live.com

Retomo este hilo. Y así dejo el de “Ejecutar consulta sql en un
controller” porque el título de este es más ilustrativo.

El caso es que estoy en el punto de que la solución que veo es la de
interceptar las fechas y meterlas directamente con sql. El problema es
que sql se queja cuando intento meterlas porque no es el formato que
espera.

El objeto que tengo en las fechas es de la clase Time.

Lo que hago es coger el valor de params[:fecha], darle al objeto que va
a hacer el .save o .update el valor nil en los campos de fecha que
intercepto, y luego meto con sql el campo.

Pero el problema es que no llega al código en el que hago eso. Sino que
se queda bloqueado antes.

Alguien puede ayudarme??.

P.D.- Uso ajax-scaffold.

Al final he contestado sin darme cuenta al otro hilo. Lo que digo en él:

Si, uso sql server.

He mirado en los params y resulta que los campos de fecha que uso (de
tipo date_select) se dividen en 3 valores.

Ej: <%= date_select ‘candidato’, ‘fechaNacimiento’, :start_year => 1900,
:end_year => Time.now.year+5, :use_month_numbers => false, :order =>
[:day, :month, :year] %>
Aparece en los params como ‘candidato[fechaNacimiento(1i)]’,
‘candidato[fechaNacimiento(2i)]’ y ‘candidato[fechaNacimiento(3i)]’. Que
representan a año, mes y día (no se el orden).

O sea que básicamente lo que no consigo es acceder a esos campos.

Y ahí me encuentro, que no soy capaz de acceder a esos campos. Puedo
hacer un params[:candidato), pero eso me devuelve un string con todos
los campos y sus valores. Alguien sabe como podría acceder a esos
parámetros.

Un saludo.

Hola! Muchas gracias!, después de unas cuantas horas ajustando cosas lo
he conseguido!!!, de verdad que muchas gracias me has quitado un gran
peso de encima.

Un saludo

Marcos C. wrote:

Y ahí me encuentro, que no soy capaz de acceder a esos campos. Puedo
hacer un params[:candidato), pero eso me devuelve un string con todos
los campos y sus valores. Alguien sabe como podría acceder a esos
parámetros.

Lo que recibes es un hash :

def update
fecha = params[:candidato]
day = fecha[“fechaNacimiento(3i)”]
month = fecha[“fechaNacimiento(2i)”]
year = fecha[“fechaNacimiento(1i)”]
render_text day + “-” + month + “-” + year
end

Espero te sirva.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs