Estoy intentando configurar mi primer proyecto de Rails3 y, desde el principio, tengo problemas con uuidtools
, mi UUIDHelper
o quizás devoluciones de llamada. Obviamente trato de usar UUID y (creo) configuré las cosas como se describe en Ariejan de Vroom's article. Intenté usar el UUID como clave principal y también como un campo suplementario, pero parece que nunca se llama al UUIDHelper
.UUID en Rails3
He leído muchas menciones de devoluciones de llamada y/o ayudantes que cambian en Rails3, pero no encuentro ningún detalle que me diga cómo ajustarme. Aquí está mi configuración tal y como está en este momento (ha habido unas pocas iteraciones):
# migration
class CreateImages < ActiveRecord::Migration
def self.up
create_table :images do |t|
t.string :uuid, :limit => 36
t.string :title
t.text :description
t.timestamps
end
end
...
end
# lib/uuid_helper.rb
require 'rubygems'
require 'uuidtools'
module UUIDHelper
def before_create()
self.uuid = UUID.timestamp_create.to_s
end
end
# models/image.rb
class Image < ActiveRecord::Base
include UUIDHelper
...
end
Cualquier penetración sería muy apreciado.
Gracias.
Esta es la única devolución de llamada de cualquier tipo que se está ejecutando en este momento. En aras de la extensibilidad, definitivamente haré un cambio una vez que obtenga este problema resuelto y solucionado.No me di cuenta de que una devolución de llamada en un ayudante sería sobrescrita de esa manera, pero creo que tiene sentido. –
Continúo decepcionado de que Rails no ofrezca compatibilidad con UUID de forma nativa y Rails3, al menos en su estado actual, ni siquiera parece ser compatible con el único "truco" razonable que he encontrado. Hay buena información en esta respuesta, así que la voy a marcar como la respuesta a menos que/hasta que surja algo mejor. –