Rails:使用文本文件中的数据填充模型

时间:2012-08-23 21:55:31

标签: ruby-on-rails ruby

我是Rails的新手,到目前为止,我一直在填写标准HTML表单中的模型数据。 如果我想要一个名为“Car”的模型,其属性为“品牌”和“颜色”,我想从文本文件(不是HTML表格)中读取6辆汽车并创建6种不同的车型,该怎么办?我不知道从哪里开始。任何指导都非常有用。感谢

2 个答案:

答案 0 :(得分:1)

1)如果适用于安装应用程序的时间,请在db/seeds.rb

中输入Model.create语句

2)对于什么是有效的模型级常量,将它们放在类中,例如

class Car < ActiveRecord::Base
  MODELS = %q[Ford, Honda, Buick] # %q means words, e.g. "Ford", "Honda", "Buick"
end

# Now you can use `::` to access it, e.g. Car::MODELS for the car models array.

2a)您也可以通过引用创建它们,例如

class Car < ActiveRecord::Base
  FORD = "The Ford Motor Company."
  HONDA = "The international Honda Motor Company."
  BUICK = "Buick Inc."
  MODELS = [FORD, HONDA, BUICK]
end

# Now you can use Book::MODELS for the models array.
# and Car::FORD for the FORD type

你可以随时编辑类(这让我有点习惯了,因为我曾经是程序员的SQL一段时间了。)

3)文件可以通过

轻松阅读
@input = File.open("/directories_to_it/file")
@input.each_line do |one_row|
  CarBrand.create(:brand => one_row[0], :color => one_row[1]
end
# psuedo-code you may need to play with the line reading a bit for your columns.

答案 1 :(得分:0)

JSON是一种很好的对象表示格式,易于使用且易于阅读。它可以像你描述的那样处理对象数组。我会将你的对象转换为json并将它们写入一个文件,然后你可以使用JSON.parse()检索它。

请参阅此链接以获取如何执行此操作的示例: How to write to a JSON file in the correct format