Sto provando a configurare il mio primo progetto Rails3 e, all'inizio, sto riscontrando problemi con uuidtools
, il mio UUIDHelper
o forse con i callback. Sto ovviamente cercando di usare gli UUID e (credo) ho impostato le cose come descritto in Ariejan de Vroom's article. Ho provato a utilizzare l'UUID come chiave primaria e anche semplicemente come campo supplementare, ma sembra che lo UUIDHelper
non venga mai chiamato.UUID in Rails3
Ho letto molte citazioni di callback e/o helper che cambiano in Rails3, ma non riesco a trovare dettagli specifici che mi dicano come regolare. Ecco la mia messa a punto così com'è in questo momento (ci sono stati un paio di iterazioni):
# 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
Tutta la comprensione sarebbe molto apprezzato.
Grazie.
Questo è l'unico callback di qualsiasi tipo che viene eseguito al momento. Per ragioni di estensibilità, farò sicuramente una modifica una volta che avrò risolto e risolto il problema.Non mi ero reso conto che una callback in un helper sarebbe stata sovrascritta in quel modo, ma immagino che abbia senso. –
Continuo a rimanere deluso dal fatto che Rails non offra nativamente il supporto UUID e Rails3 - almeno nel suo stato attuale - non sembra nemmeno supportare l'unico "hack" ragionevole che ho trovato. Ci sono alcune buone informazioni in questa risposta, quindi la contrassegnerò come la risposta a meno che/finché non arriva qualcosa di meglio. –