Hi all,
In my controller I am doing the following to populate a nested form for a has_many through association:
def new
@specification = Specification.new
Component.find_each.each do |component|
@specification.component_specifications.build(:component_id => component.id)
end
The idea being whenever someone creates or edits a form, it will be populated with all components at that time so that when they save those components that specification will be associated with the newly created specification. The problem I am having is I can’t work out how to pass component name to display in my form for the as yet nonexistent component_specification as it is not accessible through the ComponentSpecification model.
My models:
class Specification < ActiveRecord::Base
attr_accessible :description, :name, :component_specifications_attributes
validates :name, :presence => true, :uniqueness => true
has_many :component_specifications
has_many :components, :through => :component_specifications
accepts_nested_attributes_for :component_specifications, :allow_destroy => true
end
class ComponentSpecification < ActiveRecord::Base
attr_accessible :note, :colour, :brand, :components
has_many :components
belongs_to :specification
end
class Component < ActiveRecord::Base
attr_accessible :description, :name
belongs_to :component_specifications
validates :name, :presence => true, :uniqueness => true
end
Thanks in advance,
James