Submitted by amaia on Sáb, 30/10/2010 - 10:49
Dejo aquí una chuletilla para migrar los attachments de FileColumn a Paperclip que tenía por ahí guardada desde hace meses.
En este caso lo hice en la migración pero se puede hacer en una tarea rake, o directamente desde la consola. Una vez que tienes los campos necesarios para Paperclip, y los datos del attachment definidos en el modelo, puedes hacer:
Modelo.all.each do |f|
f.fichero = File.open("#{RAILS_ROOT}/public/modelo/fichero/#{f.id}/#{f.fichero_viejo}",'rb')
f.save
end
Submitted by amaia on Jue, 25/06/2009 - 01:59
Tarea rake para borrar las sesiones que no se han utilizado en las ultimas 3 horas.
desc "Borrar de la base de datos la sesiones que han expirado ."
task :delete_old_sessions => :environment do
sesiones = ActiveRecord::SessionStore::Session.find(:all, :conditions => ['updated_at < ?', 3.hours.ago])
sesiones.each {|s| s.delete}
end
Submitted by amaia on Mié, 11/03/2009 - 19:37
Instalación de ruby:
sudo apt-get install build-essential
sudo apt-get install ruby rdoc ri irb libopenssl-ruby1.8 ruby1.8-dev
Instalación de rubygems desde las fuentes, porque los paquetes para Ubuntu no están disponibles para la última versión:
cd /usr/local/src/
sudo wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
sudo tar xzfv rubygems-1.3.1.tgz
cd rubygems-1.3.1
sudo ruby setup.rb
sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
Ahora puedes borrar los ficheros que has descargado en/usr/local/src/ si quieres.
Submitted by amaia on Mié, 12/03/2008 - 23:41
Por fin he descubierto cómo se cambia el tamaño por defecto de los text_field y los text_area en Rails:
ActionView::Helpers::InstanceTag::DEFAULT_FIELD_OPTIONS = { "size" => 80 }
ActionView::Helpers::InstanceTag::DEFAULT_TEXT_AREA_OPTIONS = { "cols" => 80, "rows" => 10 }
Así en vez de modificar los tamaños de los campos uno a uno en los formularios puedo poner por defecto en el environment el valor que más uso y sólo especificarlo en las excepciones.
Llevaba tiempo buscándolo :)
Submitted by carolina on Mar, 29/01/2008 - 07:13
Se nos había pasado, poner por aquí, el último artículo que publicamos hace unas semanas en la revista de Sólo Programadores sobre Ruby on Rails donde explicamos como hacer una sencilla aplicación de encuentros digitales.
Submitted by amaia on Vie, 18/01/2008 - 05:41
Un ejemplo:
Tenemos talleres de formación y para cada taller puede haber varias sesiones en diferentes fechas.
class Sesion < ActiveRecord::Base
belongs_to :taller
end
class Taller < ActiveRecord::Base
has_many :sesiones, :order => 'fecha'
end
Así cuando hagas @taller.sesiones, por defecto estarán ordenadas por fecha.
Submitted by amaia on Sáb, 29/12/2007 - 02:55
Hoy estaba usando RailRoad para generar los diagramas de modelos y de controladores de un proyecto Rails en el que estoy trabajando y he visto que en la página de RailRoad venía el código (gracias a Thomas Ritz) de una tarea rake que genera los diagramas en svg y los deja en el directorio doc de la aplicación.
Submitted by amaia on Mar, 25/12/2007 - 23:34
Si al intentar instalar Rails en Ubuntu da un error como
$ sudo gem install rails
ERROR: While executing gem ... (Gem::Exception)
SSL is not installed on this system
es que hay que instalar libopenssl-ruby
$ sudo apt-get install libopenssl-ruby
Al menos así es como ha funcionado en mi viejo pc, al que le he regalado una instalación nuevecita de Rails por Navidad ;)
Submitted by amaia on Mar, 25/12/2007 - 22:03
Lo que voy a contar aquí está mucho mejor explicado en el Railscast #59 Optimistic Locking. Es una forma de evitar que un registro sea editado por dos usuarios al mismo tiempo y se pierdan los cambios de uno de ellos, al ser sobreescritos por el otro. Para ver un ejemplo visual y con más detalle mejor en el video de Railscasts. Aquí sólo cuento lo básico y sin profundizar mucho.
Incluir en la tabla un campo integer lock_version
Poner este campo como hidden en el formulario de edición.
Submitted by amaia on Mar, 25/12/2007 - 03:02
Esta mañana he estado pegándome con el plugin restful_authentication para que activase correctamente los usuarios. Por "suerte" Jaime estaba en las mismas y después de hablar un ratillo por jabber hemos conseguido que funcionase correctamente.
Páginas