Чтобы создать CSV-файл в Ruby on Rails, вы можете использовать различные методы и библиотеки. Вот несколько различных подходов с примерами кода:
Метод 1: использование библиотеки CSV Ruby
require 'csv'
def generate_csv
data = [
['Name', 'Email'],
['John Doe', 'john@example.com'],
['Jane Smith', 'jane@example.com']
]
csv_data = CSV.generate do |csv|
data.each do |row|
csv << row
end
end
File.write('data.csv', csv_data)
end
Метод 2: использование FasterCSV Gem (Ruby 2.3 или старше)
require 'fastercsv'
def generate_csv
data = [
['Name', 'Email'],
['John Doe', 'john@example.com'],
['Jane Smith', 'jane@example.com']
]
csv_data = FasterCSV.generate do |csv|
data.each do |row|
csv << row
end
end
File.write('data.csv', csv_data)
end
Метод 3. Использование CSV Builder Gem
require 'csv_builder'
def generate_csv
data = [
['Name', 'Email'],
['John Doe', 'john@example.com'],
['Jane Smith', 'jane@example.com']
]
csv_data = CSVBuilder.generate do |csv|
data.each do |row|
csv << row
end
end
File.write('data.csv', csv_data)
end
Метод 4. Использование Axlsx Gem
require 'axlsx'
def generate_csv
data = [
['Name', 'Email'],
['John Doe', 'john@example.com'],
['Jane Smith', 'jane@example.com']
]
Axlsx::Package.new do |p|
p.workbook.add_worksheet(name: 'Data') do |sheet|
data.each do |row|
sheet.add_row row
end
end
p.serialize('data.xlsx')
end
end
Это всего лишь несколько примеров различных методов, которые вы можете использовать для создания CSV-файла в Ruby on Rails. Вы можете выбрать тот, который лучше всего соответствует вашим требованиям и версии Ruby, которую вы используете.