在ERB视图中的隐藏表单变量中传递实例变量,Sinatra无法正常工作

时间:2014-02-05 22:10:25

标签: ruby variables sinatra instance erb

我先说我相信我在这里犯了很多错误。我正在尝试编写一个愚蠢的libs类型程序,用户可以在其中更改配方。首先,我有以下方法来创建疯狂的lib。

def madlib_recipe
    recipe = "recipe text"

    #tag words  
    tagger = EngTagger.new
    recipe = tagger.add_tags(recipe, true)

    #create for textboxes
    recipe = recipe.split(".")
    i=0
    recipe.map! do |sentence|
        size = sentence.size
        sentence = sentence.split(" ").map! do |word| 
                               i+=1
                                          word.size.odd? && word.size<40  && word.include?        ('punctuation') == false && word.include?('determiner') == false ?
                          word = "<input type='text' size='#{word[/<.+?>/].size}'' name='text#{i}' style='border:1px dotted gray;' placeholder='#{word[/<.+?>/]}'>" : word
                          end

        sentence = sentence.join(" ")
    end
    recipe.join(".")
end

然后我有以下路线的erb视图:

get '/nine' do
    @name = 'DIY'
    @content = madlib_recipe

    erb :dyi
end

:dyi视图中,我有以下隐藏输入:

<div text-align:justify;><%=@content%></div>
<input type ='hidden' name='recipe' value= <%=@content"%>>

除了隐藏输入显示@content实例变量的内容这一事实外,一切正常,当我解析后路上的参数时@contents值没有显示。作为一个新手,我相信我在这里做出各种可怕的决定,我期待着得到纠正。

0 个答案:

没有答案