Apuntes Rails

Apuntes de Ruby on Rails, programación en GNU/Linux y Mac

Adjuntar archivos con Rails

TAGS: None

Interesante artículo para adjuntar archivos con Rails

http://jimneath.org/2008/05/15/swfupload-paperclip-and-ruby-on-rails/

Relaciones Muchos a muchos con tablas “no railianas”

TAGS: None

Si tenemos que usar BD ya existentes y no podemos adaptarlas a Rails… tendremos que adaptar rails a la BD.

Tenemos las siguientes relaciones en la BD

Equipos Equiposprotocolos Protocolos
pkequipos pkequiposprotocolos pkprotocolos
fkequipos
fkprotocolos

Ahora vamos a crear los modelos para relacionar esta tablas con la siguiente advertencia:

IMPORTANTE: El nombre del modelo de la tabla intermedia DEBE DE SER SINGULAR!!!!

Vamos a ver como quedaría

equipos.rb

  1. class Equipos < ActiveRecord::Base
  2.    set_table_name  "equipos"
  3.    set_primary_key "pkequipos"
  4.  
  5.     has_many :equiposprotocolo , :foreign_key => "fkequipos"
  6.     has_many :protocolos, :foreign_key => "fkprotocolos", :through => :equiposprotocolo
  7. end

equiposprotocolo.rb

  1. class Equiposprotocolo < ActiveRecord::Base
  2.     #IMPORTANTE!!! Tanto el nombre del archivo como el de la clase tienen que ser en singular para las tablas de unión!!!!
  3.    set_table_name  "equiposprotocolos" # El nombre de la tabla en la base de datos no importa
  4.    set_primary_key "pkequiposprotocolos"
  5.  
  6.    belongs_to :equipos , :foreign_key => "fkequipos"
  7.    belongs_to :protocolos , :foreign_key => "fkprotocolos"
  8. end

protocolos.rb

  1. class Protocolos < ActiveRecord::Base
  2.     set_table_name  "protocolos"
  3.    set_primary_key "pkprotocolos"
  4.  
  5.  has_many :equiposprotocolo , :foreign_key => "fkprotocolos"
  6.  has_many :equipos, :foreign_key => "fkequipos", :through => :equiposprotocolo
  7. end

Con esto podemos hacer por ejemplo

  1. Equipos.find(1).protocolos
  2. Protocolos.find(1).equipos

Espero que os sea de utilidad

Creación de ScreenCast en Ubuntu

TAGS: None

He tenido que crear una serie de video-tutoriales para Guadalinfo y tras buscar un poco he encontrado esta herramienta:

RecordMyDesktop

Es muy fácil de usar. Para pasar los vídeos OGV a AVI solo tenemos que hacer:

mencoder mi-video.ogv -ovc xvid -xvidencopts  fixed_quant=5 -o mi-video.avi

Puede que nos falten algunas librerías:

sudo apt-get install mencoder libavformat52

Algunas aplicaciones más para crear ScreenCast son:

WinK: Muy recomendable. Crea en formato flash y podemos hacer la animación interactiva
CamStudio
Screencast-o-Matic: Crea los vídeos desde la propia web

© 2009 Apuntes Rails. All Rights Reserved.

This blog is powered by Wordpress and the Magatheme Wordpress Theme by Mid MO SEO.