I downloaded the code for importing .xls
using ruby on rails from Github
Link-=>https://github.com/bparanj/exp.
After setting up the apache server When we choose the .xlsx file to be imported i get the following error message
ActiveModel::UnknownAttributeError in ProductsController#import
Extracted source (around line #17):
def self.import(file)
spreadsheet = Roo::Spreadsheet.open(file.path)
header = spreadsheet.row(1)
(2..spreadsheet.last_row).each do |i|
row = Hash[[header, spreadsheet.row(i)].transpose]
The main product.rb file
require 'csv'
class Product < ApplicationRecord
validates_presence_of :price
def self.to_csv(options = {})
desired_columns = ["id", "name", "released_on", "price"]
CSV.generate(options) do |csv|
csv << desired_columns
all.each do |product|
csv << product.attributes.values_at(*desired_columns)
end
end
end
def self.import(file)
spreadsheet = Roo::Spreadsheet.open(file.path)
header = spreadsheet.row(1)
(2..spreadsheet.last_row).each do |i|
row = Hash[[header, spreadsheet.row(i)].transpose]
product = find_by(id: row["id"]) || new
product.attributes = row.to_hash
product.save!
end
end
The source code is available here in =>https://github.com/bparanj/exp