[英]Simple single ruby file web app
好的,這似乎是一個真正的菜鳥問題。
我目前在我的MAMP服務器上運行一個簡單的html和javascript新聞閱讀器。 您可以在Github上看到它。 一切都在客戶端運行,除了通過一個很小的php文件獲取和緩存提要。 我有一個ajax調用,它通過將一些參數傳遞給php腳本來請求新聞提要。
我最近一直在學習Ruby,並已開始在Ruby中重做這個簡單的php腳本。 我的問題是我不能像我用php一樣通過ajax請求ruby腳本。
那么,能夠做到這一點的最簡單步驟是什么?
我覺得一個完整的框架,甚至像Sinatra一樣小,都不過分。 因此,任何幫助將不勝感激。 我是否完全在想這是錯誤的方法? 謝謝。
更新資料
最后我使用了Ruby CGI。 這就是我所做的。
在我的腳本文件夾中,我添加了一個.htaccess文件,其中包含以下內容以使apache執行.rb文件。
AddHandler cgi-script .rb
Options +ExecCGI
然后我像這樣開始我的紅寶石文件。
#!/usr/bin/ruby
require 'cgi'
cgi = CGI.new('html4')
cgi.out {
cgi.html {
"Hello World" #started content here
}
}
然后,我確保該文件是可執行文件。 chmod 774
。
感謝你的幫助。
如果您認為sinatra對您仍然很重要,請更深入地嘗試編寫純粹的Rack應用。
例如,請參見此最小應用程序-https: //github.com/stevenwilkin/ip.stevenwilkin.com
機架只需要3個元素數組
[200 , {"Content-Type" => "text/plain"}, [env["REMOTE_ADDR"]]]
[return status , headers hash , body string ]
Rails,Sinatra和許多其他的ruby Web框架都在內部使用Rack。
而且,如果您需要格式正確的請求參數,則可以僅使用http://rack.rubyforge.org/doc/classes/Rack/Request.html為例。
這里最簡單的解決方案是Ruby CGI 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.