gpt4 book ai didi

ruby-on-rails-3 - 初学者 : Correct seeds. rb in rails 3

转载 作者:行者123 更新时间:2023-12-04 07:15:21 24 4
gpt4 key购买 nike

我刚刚创建了两个模型和一个“连接表”。人,地址(create_adresses_personss)

class Person < ActiveRecord::Base
has_and_belongs_to_many :streets
end

class Street < ActiveRecord::Base
has_and_belongs_to_many :persons
end

现在我想在 db/seeds.rb 文件中向这些模型添加一些数据。我遵循的教程只是添加对象:

person = Person.create :name => 'Dexter'

street.create[{:streetname => 'street1'},
{:streetname => 'street2'},
{:streetname => 'julianave'},
{:streetname => 'street3'}]

问题 1:为什么添加的人员数据与街道数据不同?教程只是想说明seeds.rb中有多种添加数据的方法吗?

问题 2:教程没有在 seeds.rb 中建立连接/连接。它在 Rails 控制台中执行此操作;

>>p1 = Person.find(1) 
>>s1 = Street.find(1)
>>p1.streets << s1

不能在 seeds.rb 文件中建立这些连接吗?

问题 3:使用“rich many_to_many-assocciation”进行此连接会更好吗?

感谢您花时间和耐心对待初学者;)

最佳答案

1) 第一种方法是创建一个对象。第二种方法是创建多个对象。但是,对于第二种方法,您需要执行 Street.create,而不是 street.create

2) 是的,您可以在种子文件中以同样的方式进行。

3) 你所说的“丰富的多对多”是与连接模型的关联,我想你在谈论。这与 has_and_belongs_to_many 所做的只是一个连接表相反。要使用连接模型,您需要查找 has_many :through。通常认为始终使用适当的连接模型更好,但是当我只需要快速、简单的关联时,我仍然使用 HABTM。 has_many :through 允许更多选项和更多灵 active ,但设置起来稍微复杂一些(虽然不是那么多)。这是你的决定。

关于ruby-on-rails-3 - 初学者 : Correct seeds. rb in rails 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7702580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com