rails插入模型和关联

时间:2012-11-12 17:34:45

标签: ruby-on-rails ruby-on-rails-3

我有一张主表和一张bezirk表。

当我将数据插入主表时,我也想在我的bezirk表中插入数据。我在bezirk中创建的条目应该具有主表的id。

主要型号:

class Main < ActiveRecord::Base
   attr_accessible :category, :latlon
   has_one :bezirk
   accepts_nested_attributes_for :bezirk
end

Bezirk模特:

class Bezirk < ActiveRecord::Base
  attr_accessible :beznr, :coordinates, :district_code, :id, :name
  belongs_to :main
end

以下是我试图这样做的方法......

    main = Main.new(:category => "Bezirk", :latlon => 'POINT(1,2)')
    main.save
    bezirk = main.bezirks.new(:name => 'test', :beznr => 2, :district_code => 1160, :coordinates => 'POINT(1,2)')
    bezirk.save

所以...我怎么能插入bezirk,相应的主要ID!?所以我有两个条目之间的关联......

1 个答案:

答案 0 :(得分:1)

您可以使用:

# create main
main = Main.create(:category => "Bezirk", :latlon => 'POINT(1,2)')

# create bezirk belongs to main, so bezirk will have main_id, is id of main
bezirk = main.create_bezirk(:name => 'test', :beznr => 2, :district_code => 1160, :coordinates => 'POINT(1,2)')