2012-05-14 30 views
1

我試圖搜索,如果我可以在我的windows7機器上安裝eruby,但無法找到任何東西。我可以找到如何在apache上安裝它。但我想將它安裝在我的win7機器上。在windows7 eruby

我希望我可以通過將它嵌入到HTML中來使用它,就像我們在VB中嵌入VBScript並打開HTML頁面一樣。我在正確的道路上嗎?

+0

你需要專門的eRuby,還是會[Erubis](http://www.kuwata-lab.com/erubis/)來代替?關於[ERB](http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html),作爲Ruby本身的一部分呢? – Phrogz

+0

@Phrogz我不知道eruby和Erubis有什麼區別。我只是想寫一些東西autopafersh在VBScript頁面。我碰巧在ruby中有一些exp,我喜歡ruby如何做,所以我想用ruby來探索解決方案,以及那些我遇到過eruby和東西的地方。但我想我只會尋找一個vbscript解決方案。 – user1207289

+0

eRuby是一個獨立的基於C的模塊,可以在外部運行,例如,來自Apache。 Erubis是一個純Ruby庫,可以在任何平臺(Ruby運行的地方)的Ruby程序中加載並在那裏執行轉換。 – Phrogz

回答

2

這聽起來像你不完全瞭解eRuby的是如何工作的,所以讓我澄清:

當您使用Web瀏覽器打開您的計算機上的HTML文件,Web瀏覽器是讀取的字節文件從磁盤,解釋爲HTML文件,並相應地顯示它。 Web瀏覽器可以理解HTML(以及JavaScript和CSS)。

像ERB/eRuby/Erubis這樣的模板化語言使用Ruby編程語言來運行嵌入在網頁中的任意代碼,並用代碼生成的文本替換該代碼的結果。這最後的文本被髮送到網絡瀏覽器;瀏覽器從不會看到Ruby代碼,而只會看到HTML(以及JavaScript和CSS)。

爲了做到這一點,Web瀏覽器無法從磁盤打開一個文件:
file:///C:/Users/Phrogz/Desktop/foo.erb
......而必須從web服務器(如Apache)請求文件:
http://localhost/test/foo
這在將修改後的內容發送給瀏覽器之前運行eRuby處理器。

您可以製作一個非常簡單的帶有Ruby的Web服務器,通過使用簡單的Web框架(如Sinatra)來處理內容。但是,這仍然需要您在提出請求之前在您的計算機上啓動Web服務器進程。

因此,簡而言之:

不,你不能「在Windows 7上安裝eRuby的」,從而打開從Web瀏覽器磁盤上的文件運行Ruby代碼。

如果你需要一個無服務器解決方案,你可能反而看一個如dust.jsclient-side templating language這在JavaScript中運行Web瀏覽器上,因此可以從簡單file:協議來提供服務。

如果您可以有服務器,我推薦Sinatra和(而不是ERB)使用Haml作爲您的模板語言。

+0

非常感謝您的解釋 – user1207289

+0

@ user1207289不客氣。如果你覺得這解決了你的問題,你應該[接受這個答案](http://meta.stackexchange.com/a/5235/153741)。 – Phrogz