【发布时间】:2012-08-23 21:55:30
【问题描述】:
我是 Rails 新手,到目前为止,我一直在使用标准 HTML 表单填充模型数据。 如果我想要一个名为“汽车”的模型,其属性为“品牌”和“颜色”,并且我想从文本文件(不是 HTML 表单)中读取 6 辆汽车并创建 6 个不同的汽车模型,该怎么办?我必须知道从哪里开始。任何指导都会非常有用。谢谢
【问题讨论】:
标签: ruby-on-rails ruby
我是 Rails 新手,到目前为止,我一直在使用标准 HTML 表单填充模型数据。 如果我想要一个名为“汽车”的模型,其属性为“品牌”和“颜色”,并且我想从文本文件(不是 HTML 表单)中读取 6 辆汽车并创建 6 个不同的汽车模型,该怎么办?我必须知道从哪里开始。任何指导都会非常有用。谢谢
【问题讨论】:
标签: ruby-on-rails ruby
1) 如果是在安装应用时将 Model.create 语句放入db/seeds.rb
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.
【讨论】:
JSON 是一种很好的对象表示格式,易于使用且易于阅读。它可以处理您描述的对象数组。我会将您的对象转换为 json 并将它们写入一个文件,然后您可以使用 JSON.parse() 检索该文件。
有关如何执行此操作的示例,请参见此链接: How to write to a JSON file in the correct format
【讨论】: