On Thu, Feb 9, 2012 at 11:38 PM, Erwin <[email protected]> wrote: > I have a polymorphic class Event > > class Event < ActiveRecord::Base > belongs_to :taskable, :polymorphic => true > > so an event.instance has : event.taskable_type and > event.taskable_id > i.e. event[:taskable_type] = "Project" event[:taskable_id] = 2 > > Is it possible to localize the taskable_type ( "Project") using > Model.model_name.human ? taskable_type is a string... > > I tried to get it from the instance , > event.taskable.model_name.human, but model_name is not an AR instance > method > ( NoMethodError: undefined method `human_name' for #<Project...> >
I think I found it ... (taskable is the instance, but model_name needs to run on the class, so add .class): Contact belongs_to :person 011:0> contact.person.model_name NoMethodError: undefined method `model_name' for #<Person:0xaa16a44> ... 012:0> contact.person.class.model_name => "Person" I have not tried on polymorphic, but I presume it would work too. HTH, Peter -- *** Available for a new project *** Peter Vandenabeele http://twitter.com/peter_v http://rails.vandenabeele.com http://coderwall.com/peter_v -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

