[RAILS] Preguntas de neofito (abierto)

Hola a todos

Tengo 21 años y llevo programando unos 5…C, C++, Java…y Php para
Webs dinámicas. Hace poco he aprendido Ruby (no rails) para Programacion
orientada a objetos y me ha sorprendido mucho su potencial.

He programado varias webs dinámicas en Php y ahora quiero hacer un juego
online de estrategia (tipo Ogame) y me han recomendado que lo haga en
rails. Y he dicho, coño, por que no? Aprender otra cosa siempre está
bien.

Tengo un par de preguntas que os parecerán demasiado obvias pero a las
que sin embargo me gustaría obtener respuesta antes de ponerme a leer,
para tener información de primera mano de los que lo usan.

  1. ¿Puedo tener instalado en mi máquina Apache con soporte para Php y
    Rails al mismo tiempo? ¿O necesito tener dos versiones instaladas e
    iniciar uno u otro en funcion de lo que vaya a programar? (Linux)

  2. ¿El codigo Ruby es incrustado en el documento .rhtml? Es decir puedo
    mezclarlos a placer como en Php?

  3. He navegado algunas webs en RoR y no he visto ningún enlace
    compuesto. (ej: http://www.foo.com/index.php?modules=portada). Aunque no
    se vea…¿Existe la posibilidad de modular en RoR?

  4. Respecto a conexión con base de datos e instrucciones Sql. He visto
    que existe un Gem llamado MySql que sirve para conectarse a una base de
    datos y hacer querys. Debería ser suficiente. Pero no he encontrado la
    forma de realizar sentencias Sql ¿Puedo ejecutar sentencias Sql en RoR?
    (ej. UPDATE tabla SET campo=“foo” WHERE algo=X )

  5. Gente que haya programado en Php y luego en RoR, me gustaría saber
    vuestra valoración a posteriori =)

Me vendría muy bien un manual de uso de MySql bajo Ruby, ¿conoceís
alguno?

Muchas gracias =)

  1. ¿El codigo Ruby es incrustado en el documento .rhtml? Es decir puedo
    mezclarlos a placer como en Php?

Totalmente. Los rhtml templates son una mezcla de HTML y código Ruby,
tipicamente usado para generar páginas HTML :

Hola, mundo!

Hoy es <%= require 'date' DAY_NAMES = %w{ Domingo Lunes Martes Miercoles Jueves Viernes Sabado } today = Date.today DAY_NAMES[today.wday] %>

  1. Respecto a conexión con base de datos e instrucciones Sql. He visto
    que existe un Gem llamado MySql que sirve para conectarse a una base de
    datos y hacer querys. Debería ser suficiente. Pero no he encontrado la
    forma de realizar sentencias Sql ¿Puedo ejecutar sentencias Sql en RoR?
    (ej. UPDATE tabla SET campo=“foo” WHERE algo=X )

Active Record es el mapeador objeto relacional (ORM), que viene con
Rails, básicamente es el responsable de conectarse a la base de datos,
mapear las tablas y manipular los datos. Las tablas se mapean a clases,
las filas a objetos y las columnas a los atributos de objeto :

class Order < ActiveRecord::Base
end

order = Order.find(10)
order.name = “DHH”
order.save

  1. Gente que haya programado en Php y luego en RoR, me gustaría saber
    vuestra valoración a posteriori =)

No he programado en php, solo hice algunas experimentaciones hace años,
y te puedo decir que me quedo con Rails. Una de las cosas que más me han
gustado de Rails es su diseño basado en el patrón
Modelo-Vista-Controlador (MVC), además de toda la rubustez, y también el
lenguaje Ruby, su sintaxis es muy clara y concisa. Y finalmente, su
comunidad, una de las más activas y colaborativas.

Me vendría muy bien un manual de uso de MySql bajo Ruby, ¿conoceís
alguno?

Pienso que de momento es suficiente comprender el funcionamiento de
ActiveRecord. Es altamente recomendable que estudies el tutorial En
marcha con Rails (y II), gracias a la traducción por J. Lupión y también
a la gente de sobrerailes.com :

sobrerailes.com/articles/2006/12/7/en_marcha_con_rails_2

Muchas gracias =)

De nada, estamos para servir.

Espero te sirva.


Jaime Mora R.

Hola:

On 12/19/06, Flaab M. [email protected] wrote:

Tengo un par de preguntas que os parecerán demasiado obvias pero a las
que sin embargo me gustaría obtener respuesta antes de ponerme a leer,
para tener información de primera mano de los que lo usan.

  1. ¿Puedo tener instalado en mi máquina Apache con soporte para Php y
    Rails al mismo tiempo? ¿O necesito tener dos versiones instaladas e
    iniciar uno u otro en funcion de lo que vaya a programar? (Linux)

Sí que puedes sí y tienes varias alternativas: lanzar Rails con
FastCGIs y PHP no, utilizarlo como proxy inverso para que llame a
FastCGIS o mongrels corriendo independientemente, etc.

  1. ¿El codigo Ruby es incrustado en el documento .rhtml? Es decir puedo
    mezclarlos a placer como en Php?

Sí, en las plantillas RHTML puedes incrustar todo el código Ruby que
quieras, aunque se recomienda que éste tienda a ser mínimo, ya que
Rails implementa el patrón MVC y es muy muy muy fácil separar lógica
de
presentación.

  1. He navegado algunas webs en RoR y no he visto ningún enlace
    compuesto. (ej: http://www.foo.com/index.php?modules=portada). Aunque no
    se vea…¿Existe la posibilidad de modular en RoR?

No entiendo muy bien qué dices. Si te refieres a pasar parámetros a
una acción o “página”, sí , sí que se puede.

  1. Respecto a conexión con base de datos e instrucciones Sql. He visto
    que existe un Gem llamado MySql que sirve para conectarse a una base de
    datos y hacer querys. Debería ser suficiente. Pero no he encontrado la
    forma de realizar sentencias Sql ¿Puedo ejecutar sentencias Sql en RoR?
    (ej. UPDATE tabla SET campo=“foo” WHERE algo=X )

Sí que se puede, aunque Rails, para trabajar con la capa del modelo de
datos, viene con una librería de alto nivel llamada ActiveRecord, que
intenta ocultarte y abstraerte de la base de datos y del SQL, ya que
se encarga él de mapear los datos y de hacer que las consultas sean
métodos de los objetos.

Aun así, si te interesa, por temas de nostalgia o rendimiento, sí que
puedes insertar SQL.

  1. Gente que haya programado en Php y luego en RoR, me gustaría saber
    vuestra valoración a posteriori =)

Esto mejor que te lo contesten otros, ya que yo no sería muy objetivo.