2010-08-20 114 views
0

我目前在Mediatemple網格服務器上託管。我正在寫一個網站來教自己Ruby - 直紅寶石,沒有鐵軌。我遇到了幾個似乎是嵌套標籤結果的錯誤。例如:eruby標籤嵌套?

eruby要求<%>標籤圍繞ruby代碼。如果我嘗試使用ERB模板,我釀 -

<% 
template = ERB.new <<-EOF 
    The value of x is: <%= x %> 
EOF 
%> 

這顯然不會因爲嵌套<%%>標籤的工作。我想我正在遇到與CGI類相似的問題。有沒有辦法改變用於erb或eruby的標籤?還是有一個簡單的方法,我完全失蹤?

回答

0

你可能不想同時使用erb和eruby。你應該從ruby cgi腳本製作eruby(或者erb)。

require "cgi" 
require "erb" 

x = 42 
template = ERB.new <<-EOF 
    The value of x is <%= x %> 
EOF 

cgi = CGI.new 
cgi.out { template.result } 
+0

這就是問題所在。顯然,服務器設置意味着讓Ruby執行的唯一方法是通過eruby。爲了讓你提供的代碼運行,它需要全部嵌套在<% %>標籤中,然後由於嵌套的<% %>標籤而破壞代碼。 – sketchy 2010-08-20 08:16:24

+0

嗯,這是一個非常糟糕的設置。如果可能,我會建議交換主機。 – cam 2010-08-20 16:35:35

+0

好吧,我懷疑你的主機只支持erb。我很確定情況並非如此。您可以在cgi-bin中運行cgi腳本,或者按照本文中的建議在文檔中運行它: http://kb.mediatemple.net/questions/30/Running+scripts+outside+of+the+ cgi-bin目錄 – cam 2010-08-20 16:39:51