Ich versuche, mein erstes Rails3-Projekt einzurichten, und schon früh stoße ich auf Probleme mit uuidtools
, meine UUIDHelper
oder vielleicht Callbacks. Ich versuche natürlich, UUIDs zu verwenden und (denke ich) habe ich Dinge eingerichtet, wie in Ariejan de Vroom's article beschrieben. Ich habe versucht, die UUID als Primärschlüssel und auch einfach als ein zusätzliches Feld zu verwenden, aber es scheint, als ob die UUIDHelper
nie aufgerufen wird.UUIDs in Rails3
Ich habe viele Erwähnungen von Callbacks und/oder Helfern in Rails3 geändert, aber ich kann keine Details finden, die mir sagen würden, wie man sich anpasst. Hier ist mein Setup, wie es in diesem Moment steht (es gab ein paar Iterationen):
# 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
Jeder Einblick würde sehr geschätzt werden.
Danke.
Dies ist der einzige Callback, der gerade ausgeführt wird. Aus Gründen der Erweiterbarkeit werde ich definitiv eine Änderung vornehmen, sobald ich dieses Problem erkannt und behoben habe.Ich wusste nicht, dass ein Rückruf in einem Helfer auf diese Weise überschrieben würde, aber ich denke, es macht Sinn. –
Ich bin weiterhin enttäuscht, dass Rails keine UUID-Unterstützung nativ bietet und Rails3 - zumindest in seinem aktuellen Zustand - nicht einmal den einzig vernünftigen "Hack" unterstützt, den ich gefunden habe. Es gibt einige gute Informationen in dieser Antwort, also werde ich es als die Antwort markieren, es sei denn/bis etwas Besseres kommt. –