2011-06-07 60 views
3

我写它使用formtastic管理BusinessUnit模型在表单上更新多个型号,但是。各机型之间的关联情况如下:Rails的创建一个新的BusinessUnit它也有创造了多项其他记录类型时形式单一

class BusinessUnit < ActiveRecord::Base 
    has_many :business_unit_sites 
    has_many :locations 

class BusinessUnitSite < ActiveRecord::Base 
    belongs_to :site 
    belongs_to :business_unit 

class Site < ActiveRecord::Base 
    has_many :locations 
    has_many :business_unit_sites 

class Location < ActiveRecord::Base 
    belongs_to :business_unit 
    belongs_to :site 

当创建一个BusinessUnit,也必须使用BusinessUnitSite作为连接表中创建一个网站。另外一个地点记录应创建其必须持有的外键到新的站点记录,这就是林有问题。

我可以使用嵌套形式(如下图)创建一个新的位置,但该网站将不得不手动创建。

<%= semantic_form_for @business_unit do |f| %> 
    <%= f.inputs do %> 
    <%= f.input :name %> 
    <%= f.input :business_unit_id %> 
    <%= f.input :business_unit_group, :include_blank => false %> 
    <%= f.input :business_unit_type %> 
    <%= f.input :tax_region, :include_blank => false %> 
    <%= f.semantic_fields_for :locations do |l| %> 
     <%= l.input :name, :label => "Location Name" %> 
    <% end %> 
    <% end %> 
    <%= f.buttons %> 
<% end %> 

什么是创建地点,现场记录,并确保位置持有新创建的网站的外键的最佳方式?

回答

相关问题