自动化生产页面创建
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,依此类推。
我有一个独特的问题,正在寻找从哪里开始寻找的指导。我是 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,依此类推。