Hello,
I'm having some trouble with an association between two tables in my
RoR site. It looks like Rails is attempting to truncate the name of
my model so that it can fit the normal model conventions. Any idea
how I can override this?
The error:
uninitialized constant Project::ProjectProgres ( i think its
truncating the 's' off 'project_progress' to fit conventions)
The models (and associations)
#### ../models/project_progress.rb
class ProjectProgress < ActiveRecord::Base
set_table_name "project_progress"
belongs_to :project
#### ../models/project.rb
class Project < ActiveRecord::Base
has_many :project_progress
#### ../controllers/project_controllers.rb
......
@project.project_progress.each do |p| ## this is the line its
puking on
# some code
end
Any idea where to set the override statement?
Dave
Hello,
I'm having some trouble with an association between two tables in my
RoR site. It looks like Rails is attempting to truncate the name of
my model so that it can fit the normal model conventions. Any idea
how I can override this?
The error:
uninitialized constant Project::ProjectProgres ( i think its
truncating the 's' off 'project_progress' to fit conventions)
The models (and associations)
#### ../models/project_progress.rb
class ProjectProgress < ActiveRecord::Base
set_table_name "project_progress"
belongs_to :project
#### ../models/project.rb
class Project < ActiveRecord::Base
has_many :project_progress
A has_many should always use a plural form , regardless of what the
underlying table name is, so has_many :project_progresses should work
nicer. If Rails cannot properly infer the class name from the
association name you can:
- fiddle with the inflection rules so that rails knows how to
singularize/pluralize these words
- use the :class_name option
Fred