RoR asociaciones "many-to-many"
Algo que me gusta mucho de ruby on rails es que maneja la base de datos muy facil, por ejemplo en Java tengo que configurar "Hibernate" para obtener algo semejante y creanme que es complicado si no conoces bien la herramienta (aquneu con spring se ha simplificado bastante), ademas en RoR no tengo que ir a tocar las tablas de la base de datos, si agregamos un campo nuevo a una tabla simplemente hacemos un "migrate" y RoR se encargará de hacer los cambios necesarios, awesome!!
Bueno, las relaciones "many-to-many" son muy comunes en nuestros sistemas, por ejemplo relacionar muchas ciudades tienes muchos edificios (ejemplo sacado el proyecto que estoy iniciando).
primero creamos las tablas que queremos asociar:
Espero que puedan interesarse en el framework y así se unan en mi camino a dominar la herramienta. saludos
PD: posiblemente existe una mejor manera de hacerlo, si es así espero me lo hagan saber ya que soy relativamente nuevo con esta herramienta ;) ;)
$ script/generate model towns nombre:string habitantes:integer
$ script/generate model buildings nombre:string img:stringluego hacemos la migración para que RoR se encargue de crear las tablas en la base de datos:
$ rake db:migrateAhora vamos a crear la relación de la siguiente manera:
$ script/generate model building_towns town:references building:referencesahora nos aseguramos que el modelo generado contenga lo siguiente:
class BuildingTown < ActiveRecord::Base belongs_to :town belongs_to :building endy las clases que estamos relacionando contengan lo siguiente:
#app/models/town.rb class Town < ActiveRecord::Base has_many :building_towns has_many :buildings, :through => :building_towns end #app/models/building.rb class Building < ActiveRecord::Base has_many :building_towns has_many :towns, :through => :building_towns endpor ultimo hacemos la migración
$ rake db:migrateY listo!! tenemos relacionadas las clases, pueden ver que es realmente sencillo!! y sobretodo muy rápido ;) ;)
Espero que puedan interesarse en el framework y así se unan en mi camino a dominar la herramienta. saludos
PD: posiblemente existe una mejor manera de hacerlo, si es así espero me lo hagan saber ya que soy relativamente nuevo con esta herramienta ;) ;)
orale que bien, la verdad es que tengo mucha curiosidad sobres esta herramienta jeje es muy popular y por consecuente ha de ser muy buena, en cuanto tenga tiempo me pondre a revisarla, por cierto esto es para el age (RoR) que alguan vez lei que estabas trabajando orale muy bien... yo soy fan de age jeje saludos y suerte
[quote="manduks"]...por cierto esto es para el age (RoR) que alguan vez lei que estabas trabajando orale muy bien... yo soy fan de age jeje saludos y suerte[/quote]
jejejeje... así es :s dejé abandonado el proyecto, que según yo hiba a terminar a mas tardar en diciembre, ya solo me quedan 4 meses :S
saludos
pues si he escuchado mucho sobre este lenguaje de programacion ,me gustaria aprenderlo como hobby primero,una pregunta stock que se necesitaria instalar para programar en ruby? asi como para php necesito el apache en Ruby que se necesita?
En local windows tambien necesitas el frameworks rails ya que en si el lenguaje es ruby tambien necesitas gems y puedes gestionar cualquier base de datos
como Apache, Lighttpd (con FastCGI o SGCI) y con motores como MySQL, Oracle, SQLite, SQL Server, DB2 o Firebird.
Adicionalmente, puedes instalar un gestor MySQL, como HeidiSQL, para tener fácil gestión del MySQL
Me gustaria saber si alguno de ustedes recomienda un hosting gratuito para hacer pruebas ya que me gustaria saber..
Primero necesitas instalar el interprete de "Ruby", luego instalas "Gem" el cual es un administrador de paquetes como lo es el "apt-get" de ubuntu o el "merge" de gentoo, luego utilizando gem instalas "Rails" que es el framework, opcionalmente puedes instalar los "drivers" para la base de datos que vas a usar (utilizando gems).
Si no le quieres batallar mucho te recomiendo instalar utilizando un programa que te instale todo a la vez, hay varios de esos.
saludos
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.