原始问题
为了减少db/seeds.rb中的输入量,我想知道是否存在流行的种子数据/代码,我可以根据需要复制和粘贴这些数据/代码并对其进行小编辑。
具体来说,以下是一些我想找到的种子数据/代码的资源:
cites:特定州内的所有城市
国家:所有的美国州(希望他们的缩写)
残疾: DSM-5中的所有残疾
邮政编码:特定州的所有邮政编码
示例:下面我不得不自己打字,以便在种族表中添加种子。最理想的是,如果在其他地方有人已经输入了它,而我所要做的就是复制并粘贴它:
ethnicity_list = [
"American Indian/Alaska Native",
"Asian/Pacific Islander",
"Black/African American",
"Caucasian",
"Hispanic/Mexican American",
"Multiracial",
"Other"
]
ethnicity_list.each do |name|
Ethnicity.create(name: name)
end答案
下面是我目前用于播种的最佳过程:
public/states.txt:
佛罗里达佛罗里达州佐治亚州GA夏威夷HI爱达荷州ID ..。db/seeds.rb:
File.open('public/states.txt','r') do \file\ file.read.each_line do _x_x__=状态名称,name_abbrev =state.chomp.split(“AC.26”)State.create(名称:名称,name_abbrev: name_abbrev)结束发布于 2015-01-14 20:13:39
我的解决方案:
查找原始数据(通常可以在互联网上找到)。复制并粘贴到文本文件中。您可能需要为解析设置一些格式。国家数据示例: public/states.txt:
Florida|FL
Georgia|GA
Hawaii|HI
Idaho|ID
...打开文件,解析数据,然后种子它: db/seeds.rb:
File.open('public/states.txt', 'r') do |file|
file.read.each_line do |state|
name, name_abbrev = state.chomp.split("|")
State.create(name: name, name_abbrev: name_abbrev)
end
end发布于 2015-01-08 15:22:09
对于那些国家,你有国家创业板
对于城市来说,你有城市宝石
对于邮政编码,这可能会更成问题,但您也可以将它们作为种子添加,与残疾相同。
对于种子,请看一看SeedMigration,如这篇博客文章中所解释的。
https://stackoverflow.com/questions/27843364
复制相似问题