3

我已经有几年没有编程了,我正在创建一个小测验来帮助我练习一些用于功课的词汇。

测验将如下所示

在我的文件 quiz.erb 中,我有以下内容:

  • <%= 问题 %>
  • " type="text" name="<%= @name %>" value="<%= @value %>" />

    在我的主文件 it_quiz.rb 中,我有这样的问题(顺便说一下,我使用的是 Sinatra):

    get '/' do
      @title = 'Italian Quiz'
      @questions = Hash.new
      @questions["a dog"] = ["un cane"]
      @questions["a cat"] = ["un gatto"]
      @questions["hello"] = ["ciao", "salve"]
      @id, @name, @value =
      erb :quiz
    end
    

    如您所见,我没有将@id、@name 或@value 设置为任何值。我应该把它设置成什么?这个项目可能有点超出我的想象,(而且我知道有很多测验程序就足够了),但我真的很想学习这个。

    4

    2 回答 2

    2

    梅兰妮,

    很高兴你在这方面工作,当我看到初学者挑战自己学习更多知识并用代码解决自己的问题时,这总是让我感到鼓舞。

    我想了想,并决定最好的方法是用视频来回答这个问题,因为一些决定中有一些背景和想法,所以我认为如果它们被捕获会更有帮助。这使得答案不太有用(人们无法快速扫描某些文本来找到答案),但无论如何这是一个非常具体的问题,因此它可能只会对与您的情况非常相似的人有所帮助,这意味着该视频可能对他们也更有帮助。

    更改在github 上。

    是视频。

    如果我制作课程的内容超出了您所熟悉的范围,那么您可能会发现Ruby Kickstart很有用,这是我为初学者教授 Ruby 的网站(对于初学者来说它可能会有点快,但鉴于您的问题,我'希望你有能力和坚韧跟随)。它是免费的,所有材料都是开源的并且易于访问。

    看起来你也在芝加哥,我们在芝加哥有一个丰富的 Ruby 社区:

    希望这对您有所帮助。坚持下去,你做得很好,编码是你能学到的最有价值的东西之一:)

    于 2012-09-18T07:29:13.653 回答
    1

    从您所做的事情来看,我相信您希望在评估结果的答案后填充 Sinatra 的参数以在您的视图中使用。因此,对于 id,也许问题的索引是合适的。您可能会更改代码以显示 each.with_index 或 each_with_index 以便您可以分配该值。

    您也可以自由地使用其他东西而不是名称和值作为名称。这是您的表单,根据您的需要创建它们来传达您的代码。

    不过,我不会从你到目前为止所拥有的情况中推测过去。

    于 2012-09-18T07:27:25.990 回答