Ruby on rails rails插入到模型和关联中

Ruby on rails rails插入到模型和关联中,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一张主桌和一张贝泽克桌 当我将数据插入主表时,我也想将数据插入bezirk表。我在bezirk中创建的条目应该具有主表的id 主要型号: class Main < ActiveRecord::Base attr_accessible :category, :latlon has_one :bezirk accepts_nested_attributes_for :bezirk end 所以。。。我如何才能在bezirk中插入相应的主id!?因此,我在两个条目之间建立

我有一张主桌和一张贝泽克桌

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

主要型号:

class Main < ActiveRecord::Base
   attr_accessible :category, :latlon
   has_one :bezirk
   accepts_nested_attributes_for :bezirk
end
所以。。。我如何才能在bezirk中插入相应的主id!?因此,我在两个条目之间建立了关联…

您可以使用:

# 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)')

从我所能看到的情况来看,这应该是有效的(如果我没有错过任何东西的话)。检索bezirk main时,应将id设置为main的id。如果这不是你想要的,请对这个问题更具体一点。也许我应该告诉你,我是在一个定制的rake任务中这样做的?也许我确实需要包括/需要bezirk?但是怎么做呢?错误意味着:未定义方法“bezirks”,因为您的主对象没有
bezirks
方法。如果你想访问main的bezirk,你可以使用
main.bezirk
,因为你的关联名是
bezirk
,它来自
有一个:bezirk
。你能告诉我,我在哪里可以读到这个吗?因为我没有找到关于这个的任何东西…好的,你可以在这里阅读:。
    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
# 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)')