Erstens: Ruby ist nicht wie php. Man kann keine Dateien in public_html ablegen und erwarten, dass alles funktioniert.
Trotzdem ist es möglich, es auf diese Weise zu tun, irgendwie. Also wir sind mit Mysql-Adapter ohne ORM wie php standardmäßig tut.
Bevor Sie beginnen, benötigen Sie den mysql-Adapter, den Sie mit installieren:
gem install mysql2
Schreiben Sie dann etwas wie:
require "rubygems"
require "mysql2"
client = Mysql2::Client.new(
:host => "127.0.0.1",
:username => "root",
:password => "",
:database => "mydb"
)
records = client.query("SELECT * FROM users")
records.each {|r| p "<p>#{r['name']} - #{r['age']}</p>"}
Führen Sie es nun in der Konsole mit
ruby name_of_the _file.rb
Dadurch werden die Datensätze in der Konsole ausgegeben. Wenn Sie eine Browserausgabe wünschen, müssen Sie einen kleinen Server schreiben:
#!/usr/bin/ruby
require 'rubygems'
require 'socket'
require 'mysql2'
webserver = TCPServer.new('127.0.0.1', 6789)
client = Mysql2::Client.new(
:host => "127.0.0.1",
:username => "root",
:password => "",
:database => "mydb"
)
records = client.query("SELECT * FROM users")
while (session = webserver.accept)
session.print "HTTP/1.1 200/OK\r\nContent-type:text/html\r\n\r\n"
request = session.gets
records.each {|r| session.print "<p>#{r['name']} - #{r['age']}</p>"}
session.close
end
Wenn Sie nun ruby application.rb
Der Server wird auf Port 6789 gestartet und gibt die erforderlichen Daten aus. Sie können später einen Reverse-Proxy darauf aufsetzen und ihn auf Port 80 verwenden.