HTMLでは呼び出されません。HTMLは言語ではありません。HTMLは、Web用に設計された出力形式です。
とても簡単です。
「単純な」rubyプログラムでは、コードの出力はSTDOUT
コンソール、画面などに表示されます。
rubyインタープリターを搭載したサーバーは、rubyコードを変換し、HTMLとしてクライアントに提示します。拡張子(レール内)を指定し、コードを。で囲むことにより、どのファイルを「変換」するかを定義しますcode tags
。
例
これは純粋なルビーで書かれた簡単なwebrickの例です
# in server.rb
#
require 'webrick'
server = WEBrick::HTTPServer.new(:Port=>8080)
trap 'INT' do server.shutdown end
class Dog
attr_accessor :name
def initialize(name)
self.name = name
end
def bark
"#{name} is barking!"
end
end
dog = Dog.new("Fido")
server.mount_proc('/bark'){ |req, resp|
resp['Content-Type'] = 'text/html'
resp.body = "#{dog.bark}"
}
server.mount_proc('/run') do |req,resp|
dog.instance_eval do
def run_away
"#{name} is running away..."
end
end
resp['Content-Type'] = 'text/html'
resp.body = "#{dog.run_away}"
end
server.start
実行ruby server.rb
してに移動しlocalhost:8080/run
、localhost:8080/bark
結果を確認します。
編集-シナトラの例
webrickの例を理解するのが難しい場合は、Sinatraをチェックしてください。
# in sinatra_example.rb
require 'sinatra'
class Dog
attr_accessor :name
def initialize(name)
self.name = name
end
def bark
"#{name} is barking!"
end
end
fido = Dog.new("Fido")
get '/bark' do
fido.bark
end
get '/run' do
fido.instance_eval do
def run_away
"#{name} is running away!"
end
end
fido.run_away
end