Coam sobie działam w Rubym używając przy tym SQLite3 i natknąłem się na problem. Dlaczego otrzymuję taki błąd? Jak przekazać zmienną db
z klasy Database
do metody z klasy Profile
?
require "sqlite3"
class Database
def initialize
begin
db = SQLite3::Database.open "test.db"
return db
rescue SQLite3::Exception => e
puts "Exception occurred"
puts e
end
end
end
class Profile < Database
def get_friends
query = db.prepare "SELECT * FROM `Friends`"
result = query.execute
end
end
user = Profile.new
user.get_friends
/home/dawid/Desktop/Learning/Ruby/Projects/test2.rb:16:in
<class:Profile>': undefined local variable or method
db’ for Profile:Class (NameError)
from /home/dawid/Desktop/Learning/Ruby/Projects/test2.rb:15:in `’
[Finished in 0.1s with exit code 1]
[shell_cmd: ruby “/home/dawid/Desktop/Learning/Ruby/Projects/test2.rb”]
[dir: /home/dawid/Desktop/Learning/Ruby/Projects/]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin]