我对 ActiveRecord 完全陌生,所以这可能是一个愚蠢的问题:我写的方法是这样的:
sample_organizations = [ '37 Signals', 'Fog Creek']
sample_organizations.each { |item|
Organization.first_or_create(
name: item,
time_zone: 'Central'
)
}
它没有用,我希望它会遍历我的组织数组并将它们全部插入数据库,但它只是插入了第一行。
然后有人建议像这样改变它并且这个工作,但我想知道是否有人可以解释第一种方法中的错误,以便我可以了解我在做什么/假设错误。
所以这个工作:
sample_organizations = [ '37 Signals', 'Fog Creek']
sample_organizations.each { |item|
Organization.where(name: item).where(time_zone: 'Central').first_or_create
}