【问题标题】:Rails: Fill Model with data from text fileRails:用文本文件中的数据填充模型
【发布时间】:2012-08-23 21:55:30
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    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.
    

    【讨论】:

      【解决方案2】:

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

      有关如何执行此操作的示例,请参见此链接: How to write to a JSON file in the correct format

      【讨论】:

        猜你喜欢
        • 2021-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多