【问题标题】:Best way to seed content text in rails 4在 Rails 4 中播种内容文本的最佳方法
【发布时间】:2016-10-08 22:04:05
【问题描述】:

我知道如何在 Rails 中创建标准种子文件并为我的数据库播种。但是,我有一个所见即所得的编辑器,用于创建许多内容页面。内容字段是“文本”类型,包含一整页 HTML。我将导出这些数据并想用它创建一个种子文件。

关于创建种子文件的最佳方法有什么想法吗?

例如,我应该从单独的文件中创建对内容的引用吗?还是我应该将文本保存在一个种子文件中?是否可以显示推荐示例?

【问题讨论】:

  • 您需要存储一些元数据,还是创建具有单个文本属性的模型?
  • 我除了text属性还有其他属性

标签: ruby-on-rails ruby ruby-on-rails-4 seeding


【解决方案1】:

如果你有多个属性并且数据已经在数据库中,你可以使用seed_dump gem:https://github.com/rroblak/seed_dump

所以给定一个现有的数据库,正在运行

rake db:seed:dump

将在seed.rb 中生成以下内容:

Product.create!([
  { category_id: 1, description: "Long Sleeve Shirt", name: "Long Sleeve Shirt" },
  { category_id: 3, description: "Plain White Tee Shirt", name: "Plain T-Shirt" }
])
User.create!([
  { password: "123456", username: "test_1" },
  { password: "234567", username: "test_2" }
])

【讨论】:

    【解决方案2】:

    您可以拥有一个包含内容的文件,然后只需读取它并为您的数据库播种:

    file_content = File.read('path to file with extension');
    MyModel.create(text: file_content);
    

    当然,如果您有多个项目需要播种,只需使用正确的文件名或特定目录中的所有文件循环遍历它们即可。

    【讨论】:

    • 如果我有其他属性,我是否将它们作为哈希或其他东西放在文件中?
    猜你喜欢
    • 2010-10-20
    • 2018-12-03
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多