自动化生产页面创建

Automating Production Page Creation

我有一个独特的问题,正在寻找从哪里开始寻找的指导。我是 Rails 和 Ruby 的新手。

我想要一个信息电子表格,在这个例子中,它将是一个位置列表,比如美国的城市。然后获取该信息电子表格并让我的 rails 应用程序为每个城市创建页面。

我目前的设置很像博客,所以我有帖子有模型。您的基本 Rails 帖子脚手架。从方向上讲,我将如何开始研究编写方法和 运行 生产中的脚本,该脚本将根据城市的电子表格列表自动创建帖子?

由于您的问题相当广泛,因此这将是高级别的。我就是这样做的,但可能还有许多其他方法。

我使用名为 Roo (https://github.com/roo-rb/roo) 的 gem,它提供对所有常见电子表格类型的读取权限。然后你需要在你的 posts_controller.rb 中有一个方法来处理输入。

# POST /posts/import
def import
  xlsx = Roo::Excelx.new(params[:file].tempfile.path)

  xlsx.each do |row|
    i += 1
    next if i == 1 # skip header if necessary
    post = Post.new(field1: row[0], field2: row[1]) # etc.
    if post.valid?
      post.save
      imported += 1
    else
      errors << "Row #{i}: #{post.errors.messages} <br />"
    end
  end
  render json: { success: "#{imported} cities imported.", errors: errors }
end

row 是电子表格中的行,列由数组元素表示 row[0] 是当前行的单元格 A,依此类推。