J'utilise Rails 3.0.20 et ruby 1.8.7 (2011-06-30 patchlevel 352)
Veuillez me suggérer le meilleur plugin pour générer un guide.
J'utilise Rails 3.0.20 et ruby 1.8.7 (2011-06-30 patchlevel 352)
Veuillez me suggérer le meilleur plugin pour générer un guide.
Il existe de nombreuses options, je recommande de ne pas ajouter de dépendances supplémentaires et d'utiliser SecureRandom
qui est intégré :
SecureRandom.uuid #=> "1ca71cd6-08c4-4855-9381-2f41aeffe59c"
Voir les autres formats possibles aquí .
La première chose que je vous suggère est de mettre à jour vos versions de ruby et de rails.
Une très bonne façon de générer des guides est SecureRandom qui est un module ruby facile à utiliser.
require 'securerandom'
guid = SecureRandom.hex(10) #or whatever value you want instead of 10
Je vous suggère d'utiliser PostgreSQL et d'utiliser la colonne uuid intégrée, qui génère automatiquement l'UUID en fonction du type de colonne que vous créez.
Exemple de migration dans Rails 3
execute <<-SQL
CREATE TABLE some_items (id uuid PRIMARY KEY DEFAULT uuid_generate_v1());
SQL
Il pourrait y avoir une meilleure façon de faire ça dans Rails 4.
Veuillez voir en détail, comment utiliser la bibliothèque standard ruby securerandom pour utiliser les UUID avec un exemple dans rails 3.X et 4.X.
créez le fichier usesguid.rb dans votre lib/usesguid.rb et collez le code ci-dessous dans ce fichier.
require 'securerandom'
module ActiveRecord
module Usesguid #:nodoc:
def self.append_features(base)
super
base.extend(ClassMethods)
end
module ClassMethods
def usesguid(options = {})
class_eval do
self.primary_key = options[:column] if options[:column]
after_initialize :create_id
def create_id
self.id ||= SecureRandom.uuid
end
end
end
end
end
end
ActiveRecord::Base.class_eval do
include ActiveRecord::Usesguid
end
ajoutez la ligne suivante dans votre config/application.rb pour charger le fichier -
require File.dirname(__FILE__) + '/../lib/usesguid'
Créez la migration script pour la fonction UUID comme mentionné ci-dessous à -.
class CreateUuidFunction < ActiveRecord::Migration
def self.up
execute "create or replace function uuid() returns uuid as 'uuid-ossp', 'uuid_generate_v1' volatile strict language C;"
end
def self.down
execute "drop function uuid();"
end
end
Voici un exemple de migration de contact, comment nous pouvons l'utiliser.
class CreateContacts < ActiveRecord::Migration
def change
create_table :contacts, id: false do |t|
t.column :id, :uuid, null:false
t.string :name
t.string :mobile_no
t.timestamps
end
end
end
Final comment utiliser dans votre modèle
class Contact < ActiveRecord::Base
usesguid
end
Cela vous aidera à configurer l'UUID pour votre application rails.
Cela peut être utile pour Rails 3.0, 3.1, 3.2 et 4.0 également.
S'il vous plaît laissez-moi savoir si vous avez un problème tout en l'utilisant, si simple !
Autres options pour Rails4 aquí
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.