2013-10-08 206 views
-1

我希望經過身份驗證的管理員用戶能夠輸入變量以便在Web表單中進行替換。輸入「電子郵件<<eric>><<jeremy>>」將替換<<eric>><<jeremy>>變量eric和jeremy的內容。通過輸入標籤傳遞變量

eric = "<a href='mailto:[email protected]'>Eric Roberts</a>" 
jeremy = "<a href='mailto:[email protected]'>Jeremy Smith</a>" 
blurb = params[:my_input].gsub(/<<(\w+)>>/, "\#{\1}") 

沒有工作,也沒有使用$ 1或eval。輸出將在網站上重新顯示。只要管理員可以使用這些快捷方式變量,分隔符就不重要了。

回答

0

也許更容易將替換字符串存儲在散列中,其中鍵是替換字符串的名稱。即:

substitutions = { 
    'eric' => "<a href='mailto:[email protected]'>Eric Roberts</a>", 
    'jeremy' => "<a href='mailto:[email protected]'>Jeremy Smith</a>" 
} 

match = params[:my_input].match(/<<(\w+)>>/) 
blurb = substitutions[match[1]] if match 
+0

謝謝,這工作在一個循環,並給了我一個替代名單來顯示。 – user2859483