Спасибо за ваше время.
Я работаю над rails 3.2 и использую драгоценные камни simple_form, cocoon и rails3-jquery. -автозаполнение.
У меня есть следующие модели Machine, Part, PartUsage, MachineCosting и PartCosting.
Модели машин и деталей с ассоциацией «многие ко многим».
class Machine < ActiveRecord::Base
attr_accessible :name
has_many :part_usages
has_many :parts, :through => :part_usage
end
class Part < ActiveRecord::Base
attr_accessible :name
end
class PartUsage < ActiveRecord::Base
attr_accessible :machine_id,
:part_id
belongs_to :part
belongs_to :machine
end
Модели MachineCosting и PartCosting с ассоциацией «один ко многим».
class MachineCosting < ActiveRecord::Base
attr_accessible :machine_id,
:total_cost,
:machine_name,
:part_costings_attributes
attr_accessor :machine_name
has_many :part_costings, :dependent => :destroy
accepts_nested_attributes_for :part_costings, :allow_destroy => true
def machine_name
self.machine.try(:name)
end
end
class PartCosting < ActiveRecord::Base
attr_accessible :part_id,
:part_name,
:cost
attr_accessor :part_name
belongs_to :machine_costing
belongs_to :part
def part_name
self.part.try(:name)
end
end
Форма для MachineCosting
views/machine_costings/_form.html.erb <%= simple_form_for(@machine_costing, :html => {:multipart => true}) do |f| %>
<%= f.input :machine_id, :url => autocomplete_machine_id_machines_path,
:as => :autocomplete %>
<!-- HERE, WHENEVER I SELECT A MACHINE, I WANT TO ADD NESTED-FORMS FOR
PARTCOSTINGS CORRESPONDING TO ALL THE PARTS OF THE MACHINE I JUST SELECTED.-->
<%= f.simple_fields_for :part_costings do |part_costing|%>
<%= render 'part_costings/part_costing_fields', :f => part_costing %>
<% end %>
<% end %>
Пожалуйста, предложите, как я могу заполнить и динамически добавить фиксированное количество полей для PartCostings, используя javascript после того, как в поле выбран machine_id.
Я был бы рад предоставить любую дополнительную информацию.
Спасибо еще раз!!