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 [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
-~----------~----~----~----~------~----~------~--~---

Reply via email to