2010-02-11 4 views
4

J'ai un modèle. Je veux importer dans ce modèle un module. dans ce module je veux insérer un validates_presence_of pour les modèles qui importent, ilvalidates_presence_of dans un module

Je veux savoir si et comment il est possible de faire quelque chose comme ceci:

class Ele < ActiveRecord::Base 
    include Mod 
end 

module Mod 
    validates_presence_of  :field 
end 

Merci

Répondre

2

dans app/modèles/awesome_model.rb

class AwesomeModel < ActiveRecord::Base 

inlude ModuleName 

end 

dans lib/module_name.rb

require 'active_record' 

module ModuleName 
    def self.included(base_class) 
    base_class.class_eval do 

     include ModuleName::InstanceMethods 

     belongs_to :some_model 
     before_save :some_method 
     .... validations, etc.... 



    end 
    end 

    module InstanceMethods 

    def some_method 
     .... 
    end 

    end 
end 

espoir qui aide!

6

Vous pouvez utiliser le self.included crochet.

class Ele < ActiveRecord::Base 
    include Mod 
end 

module Mod 
    def self.included(base) 
    base.class_eval do 
     validates_presence_of :field 
    end 
    end 
end 
Questions connexes