0

メインテーブルとベザークテーブルを手に入れました。

メイン テーブルにデータを挿入するときに、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

では、対応するメイン ID を bezirk に挿入するにはどうすればよいでしょうか!? 私は2つのエントリ間の関連付けを持っているように...

4

1 に答える 1

2

あなたはこれを使うことができます:

# 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)')
于 2012-11-12T18:00:27.700 に答える