I have a requirement to be able to identify a record in a table, in this case a user table, by a unique key which does not give away the ordering of the records in the table.
Currently I have primary key field and the routes that are generated look like:
/users/1
However, I'd like to be able to generate a route like:
/users/kfjslncdk
I can wire everything up on the route side, database side etc.. but I'm not sure what the best way to generate a unique string identifier would be in rails. I'd like do something like:
before_save :create_unique_identifier
def create_unique_identifier
self.unique_identifier = ... magic goes here ...
end
I was thinking I could use the first part of a guid created using UUIDTools, but I'd need to check to make sure it was unique before saving the user.
Any advice would be greatly appreciated!