Ich bin neu in Ruby, also bitte verzeih die Noobishness.Benutzerdaten in CSV-Datei speichern
Ich habe eine Klasse „User“, die haben Methoden erstellen und zeigen alle Benutzer speichern müssen „Benutzer“ Daten in CSV-Datei
Das ist, was ich
class User
attr_accessor :name, :age, :email
def initialize(name:, age:, email:)
@name = name
@age = age
@email = email
end
def create
@users = [@name, @age, @email]
end
def self.all
ObjectSpace.each_object(self).map(&:create)
end
def self.save_to_csv
CSV.open(users.csv, "w") do |csv|
@users.each { |i| csv.puts "#{i.name}, #{i.age}, #{i.email}" }
end
end
end
versucht zu tun, wenn ich rufe
User.all
es gibt mir Arrays in Array meines Benutzer, aber wenn Anruf
User.all.save_to_csv
es zeigt mir Fehler
<main>': undefined method `save_to_csv' for [["user1"], ["user2"], etc]
Bitte, helfen, wie es richtig
Ich denke, ich sollte Methode "alle" ändern, aber nicht verstehen, wie man es richtig macht –
In der "self.save_to_csv" -Methode 'all.each' bezieht sich auf die' self.all' Methode, die 'jede anwendet ', anstatt die Methode stattdessen als' User.all.save_to_csv' aufzurufen, können Sie 'User.save_to_csv' ohne Verkettungsmethoden ausführen. –