2016-11-18 121 views
1

我正在創建一個創建隨機句子的應用程序。我將它作爲控制檯應用程序工作,並且希望創建一個Sinatra應用程序,讓我可以在瀏覽器上顯示這些句子。將結果輸出到erb

我有一個變量@grammar從窗體填充。我想將這個方法傳遞給一個方法,這些方法一起工作來接收一個字符串並使用大量的邏輯從中產生一個隨機的句子。我的rsg.erb文件看起來像這樣。

哪裏浪花今晚像大黃花一樣。是擴展方法的輸出。我想在erb文件上顯示它,以便它在瀏覽器上顯示。

我該怎麼做?

+0

這很有趣。你必須在視圖中進行這種計算嗎?如果你把它提取到一個控制器或幫手,我相當積極的工作。 –

回答

1

你可以試試這個:

<%= @grammar %> 

<%-# Assigning values to the variables in first step %> 
<%- 
    rds = read_grammar_defs(@grammar) #get text from file and parse 
    sds = rds.map { |rd| split_definition rd} #use split definition to make array of strings 
    tgh = to_grammar_hash(sds) #create hash 
    rs = expand(tgh) #create sentence 
%> 

<%-# Printing it in second step %> 
<%= rs %>