Atención los que estéis pensando en actualizaros a Ubuntu 8.10, puesto
que viene con ruby 1.8.7, y rails presenta incompatibilidades con ruby
1.8.7 en versiones anteriores a la 2.1.0.
Este problema puede afectaros también a los que uséis macports, ya que
se instala ruby 1.8.7 por lo que he podido leer.
Aunque se supone que se soluciona con rails 2.1.0, aún tengo mis dudas
al respecto. Ante la duda, y viendo que se sigue desaconsejando ruby
1.8.7 desde la página de rails, creo que lo mejor es quedarse en 1.8.6
(e ir actualizando las apps rails que tengamos con versiones
antiguas).
Efectivamente. Se ha de tener en cuenta de que Leopard ya trae ruby
instalado.
Aunque se supone que se soluciona con rails 2.1.0, aún tengo mis dudas
al respecto. Ante la duda, y viendo que se sigue desaconsejando ruby
1.8.7 desde la página de rails, creo que lo mejor es quedarse en 1.8.6
(e ir actualizando las apps rails que tengamos con versiones
antiguas).
La idea es que si nuestras aplicaciones estan lo suficientemente
testeadas, usamos Rails 2.1.X o superior y los tests pasan con Ruby
1.8.7, entonces porque no usarla?
Atención los que estéis pensando en actualizaros a Ubuntu 8.10, puesto
que viene con ruby 1.8.7, y rails presenta incompatibilidades con ruby
1.8.7 en versiones anteriores a la 2.1.0.
Siempre puedes instalar Ruby desde las fuentes. Por lo que no habria
de ser un problema usar Ubuntu 8.10.
Sip, un problema no es, pero un tanto coñazo tener que compilarse
además las librerías correspondientes. Con lo cómodo que es el
aptitude.
Yo estoy utilizando 1.8.6p114, que es el que viene en Leopard, en su
momento estuve utilizando 1.8.7 instalado via MacPorts y el error que
me encontré era count on “HABTMs broken by Ruby 1.8.7 Array.count” [1]
que ya está arreglado en edge.
La idea es que si nuestras aplicaciones estan lo suficientemente
testeadas, usamos Rails 2.1.X o superior y los tests pasan con Ruby
1.8.7, entonces porque no usarla?
Sip, pero si has de mantener aplicaciones con versiones de rails
anteriores, o estás en proceso de migrar a versiones superiores de
rails, es una jodienda esto de ruby 1.8.7. En todo caso, como todo iba
bien con 1.8.6, parece que más bien por el momento lo mejor evitar la
1.8.7.
Sip, un problema no es, pero un tanto coñazo tener que compilarse
además las librerÃas correspondientes. Con lo cómodo que es el
aptitude.
Sip, pero si has de mantener aplicaciones con versiones de rails
anteriores, o estás en proceso de migrar a versiones superiores de
rails, es una jodienda esto de ruby 1.8.7. En todo caso, como todo iba
bien con 1.8.6, parece que más bien por el momento lo mejor evitar la
1.8.7.
Siempre puedes mantener varias versiones de Ruby en tu maquina. Yo
utilizo stow para hacerlo. De esta manera puedo tener en una carpeta
varias versiones y las activo y desactivo segun las necesite.
Siempre puedes mantener varias versiones de Ruby en tu maquina. Yo
utilizo stow para hacerlo. De esta manera puedo tener en una carpeta
varias versiones y las activo y desactivo segun las necesite.
Sip, mola stow.
Mi post va más bien encaminado a los incautos como yo que no se
esperaban este cambio de versión ni este buen incentivo para aprender
a usar stow - quizá no encaje bien en su planificación-
Rescato este tema para volver a avisar de que ruby 1.8.7 puede darnos
problemas con rails. Pensaba que sólo era con versiones antiguas de
rails, pero he vuelto a ver fallos con una aplicación rails 2.2.2, que
va bien con ruby 1.8.6 pero falla con ruby 1.8.7.
En concreto el problema lo explica muy bien Will B. en su blog
[1]. El tema es que si se incluye un comentario de una línea en un
archivo .erb, ruby 1.8.7 ignora todo el código a continuación… pero
hasta el siguiente <%, comiéndose todo el HTML siguiente. Por ejemplo:
<%(1..10).each do |id|#start of loop%>
<%="Number : #{id}"%>
<%end%>
Esto se renderizará bien con ruby 1.8.6, pero en ruby 1.8.7 se come el
y el
.
El problema no es de rails, sino de erb, pero aún así, no me parece
bien que recomienden ruby 1.8.7 desde rubyonrails.org, hasta que se
arregle este bug en erb…
En mi caso me dí cuenta del bug por incluir comentarios # TODO en
vistas. Sólo ocurre cuando el # y el %> están en la misma línea, así
que si queréis meter comentarios en erb, hacedlo en varias líneas.
En mi caso me dí cuenta del bug por incluir comentarios # TODO en
vistas. Sólo ocurre cuando el # y el %> están en la misma línea, así
que si queréis meter comentarios en erb, hacedlo en varias líneas.
Siempre puedes incluir los comentarios usando html no?
En principio sí, pero la gracia de meterlo con comentarios ruby es que
después puedes correr “rake notes” y ver los TO-DOs pendientes. Si lo
haces con un comentario html, no se lista en rake notes. Probad lo
siguiente:
<% # TODO: este si que sale en rake notes pero falla en ruby 1.8.7 %>
<%
TODO: curiosamente en varias lineas tampoco lo pilla en ruby 1.8.6
%>
En todo caso, esto nos distrae del tema que yo quería tratar, que
es… ¿Hay o no hay un bug en erb de ruby 1.8.7 que hace que si pones
un comentario en la misma línea que %> se coma todo hasta el siguiente
<% ?
Hola Xavier, ahí parece estar la cosa… por lo visto el único formato
válido para comentarios en ERb es sin espacio antes de la #. O sea <%#
TODO %> funciona bien con ruby 1.8.7, pero <% # TODO %> peta.