class Ferm < AR::Base
has_many :daily_analyses
end
class DailyAnalysis < AR::Base
belongs_to :ferm
end
$ script/console
Loading development environment (Rails 2.0.2)
f = Ferm.find(:first)
=> #<Ferm … >
f.daily_analyses
NameError: uninitialized constant Ferm::DailyAnalyAsis
from /Library/Ruby/Gems/1.8/gems/activesupport-2.0.2/lib/
active_support/dependencies.rb:478:in const_missing' from /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/ base.rb:1750:incompute_type’
from /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/
reflection.rb:125:in send' from /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/ reflection.rb:125:inklass’
from /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/
associations/has_many_association.rb:152:in construct_sql' from /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/ associations/has_many_association.rb:6:ininitialize’
from /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/
associations.rb:1032:in new' from /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/ associations.rb:1032:indaily_analyses’
from (irb):3
For some reason Rails is converting “daily_analyses” to
“daily_analy_asis”. Using the pluralizer and tableizer for
“daily_analysis” correctly give “daily_analysis”.
Should I roll back my schema and rename the table something other than
“daily_analysis?”
it seems like when rails is putting together the Ferm::DailyAnalysis
relationship it first camelizes “daily_analyses” into “DailyAnalyses”
then classifies it incorrectly as “DailyAnalyAsis”.
I think I’ll just change my table name to something like “daily”.