2016-11-18 90 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 %>