I changed the creation + test to a simple get constant as it''s already
declared (being an ActiveRecord class created by Globalize plugin)
a simple :
globalize_class = Object.const_get "#{self.class.name}Translation"
gives me the class...
On 31 jan, 19:44, Erwin <yves_duf...-ee4meeAH724@public.gmane.org>
wrote:> I get a redefinition warning :
>
> log warning =>
> /Users/myself/Developpement/MyApp/vendor/plugins/globalize2/lib/myapp/
> validations.rb:18: warning: already initialized constant
> RoleTranslation
>
> I am using the following code, apps is running well w warning
> module Validations
> def validate_translation_uniqueness_of(*attr_names)
> translation_class = Object.const_set
"#{self.class.name}Translation",
> Class.new(::ActiveRecord::Base){}
> ...
>
> I tried now to avoid it writing :
> translation_class = Object.const_set
"#{self.class.name}Translation",
> Class.new(::ActiveRecord::Base){} unless defined?("#{self.class.name}
> Translation")
> but it fails ... (obviously don''t like a string..)
>
> I also tried:
> translation_class = Object.const_set
"#{self.class.name}Translation",
> Class.new(::ActiveRecord::Base){} unless defined?("#{self.class.name}
> Translation".to_sym)
>
> "#{self.class.name}Translation".to_sym =>
:AccountingPeriodTranslation
> which is also bad..
>
> I need to have : #{self.class.name}Translation giving a class , how
> should I write it ?
>
> defined?(AccountingPeriodTranslation) =>"constant" is what I
should
> test (or any other xxxxTranslation class where xxxx is self.class
>
> thanks for your help
>
> erwin
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---