And I solved it myself...
I have to put the capitalized versions of the words in the
inflections, or rather make them a case insensitive regex!
Apologies for the noise.
stuart.coyle wrote:> I''m having difficulty getting inflections to work properly.
> I have put this into environment inflection.rb :
>
> ActiveSupport::Inflector.inflections do |inflect|
> inflect.plural ''criterion'',
''criteria''
> inflect.singular ''criteria'',
''criterion''
> end
>
> I have a habtm relationship between component_types and criteria with
> tables called
> component_types, criteria and the join table component_types_criteria
>
> But when I do this...
> >> c = Criterion.new
> => #<Criterion id: nil, question: nil, notes: nil, result_type_id:
> nil, created_at: nil, updated_at: nil>
> >> c.save
> => true
> >> d = ComponentType.new
> => #<ComponentType id: nil, name: nil, manufacturer: nil,
description:
> nil, created_at: nil, updated_at: nil>
> >> d.save
> => true
> >> d.criteria << c
> NameError: uninitialized constant ComponentType::Criterium
> from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.1/lib/
> active_support/dependencies.rb:493:in `const_missing''
> from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.1/lib/active_record/
> base.rb:1914:in `compute_type''
> from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.1/lib/active_record/
> reflection.rb:129:in `send''
> from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.1/lib/active_record/
> reflection.rb:129:in `klass''
> from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.1/lib/active_record/
> reflection.rb:137:in `quoted_table_name''
> from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.1/lib/active_record/
> associations/has_and_belongs_to_many_association.rb:80:in
> `construct_sql''
> from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.1/lib/active_record/
> associations/association_collection.rb:8:in `initialize''
> from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.1/lib/active_record/
> associations.rb:1135:in `new''
> from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.1/lib/active_record/
> associations.rb:1135:in `criteria''
> from (irb):8
> >>
>
> I get a NameError, apparently ActiveRecord is looking for the singular
> of criteria which it thinks is criterium. Active Record is bad at
> latin, methinks.
>
> Any clues? Or do I just have to refactor and rename the Criterion
> model to Criterium?
--~--~---------~--~----~------------~-------~--~----~
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---