खोज…


परिचय

इस उदाहरण में, हम कहते हैं कि हमारे पास एक फ़ोल्डर में कई उत्पाद CSV फाइलें हैं। प्रत्येक CSV फ़ाइल को हमारे कंसोल को कमांड लिखने से हमारे डेटाबेस को अपलोड करने की आवश्यकता है। इस मॉडल को बनाने के लिए एक नई या मौजूदा परियोजना में निम्नलिखित कमांड चलाएँ।

कंसोल कमांड से CSV अपलोड करता है

टर्मिनल कमांड:

rails g model Product name:string quantity:integer price:decimal{12,2}
rake db:migrate

डेट्स कंट्रोलर बनाते हैं।

टर्मिनल कमांड:

rails g controller Products

नियंत्रक कोड:

class HistoriesController < ApplicationController
    def create
        file = Dir.glob("#{Rails.root}/public/products/**/*.csv") #=> This folder directory where read the CSV files
        file.each do |file|
            Product.import(file)
        end
    end
end 

नमूना:

class Product< ApplicationRecord
  def self.import(file)
      CSV.foreach(file.path, headers: true) do |row|
          Product.create! row.to_hash
      end
  end
end

routes.rb

resources :products

एप्लिकेशन / config / application.rb

require 'csv'

अब अपना विकास console खोलें और run

=> ProductsController.new.create #=> Uploads your whole CSV files from your folder directory


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow