如何在视图中访问哈希数组的元素? (屈)

时间:2014-08-10 17:55:57

标签: ruby sinatra

我在网络开发方面相当新,我正在与Sinatra一起练习。我试图访问保存在数组中的每个哈希的每个元素。我google了一下,我没有找到一个明确的答案/理由,为什么我不能按照我这样做的方式做到这一点。你能帮帮我吗?感谢。

我的档案内容是什么:

  

app.rb

 get '/' do
   @jobs = [{"jobId"=>25347483, "employerId"=>382326},
            {"jobId"=>34543, "employerId"=>3233},
            {"jobId"=>90009, "employerId"=>94949},
            {"jobId"=>5005004, "employerId"=>95959}
           ]
 end
  

index.erb

<body>
  <% @jobs.each do |job| %>
  <p><%= job['jobId'] %></p>
  <% end %>
</body>

我得到的错误:

  / p中的NoMethodError   未定义的方法`bytesize&#39; for {&#34; jobId&#34; =&gt; 25347483,&#34; employerId&#34; =&gt; 382326}:Hash

1 个答案:

答案 0 :(得分:1)

我收到了错误,因为我无法做到! 从:http://www.sinatrarb.com/intro.html

&#34;返回值 路由块的返回值至少确定传递给HTTP客户端的响应主体,或至少确定Rack堆栈中的下一个中间件。最常见的是,这是一个字符串,如上例所示。但其他价值观也被接受。

您可以返回任何有效的Rack响应,Rack body对象或HTTP状态代码的对象:

包含三个元素的数组:[status(Fixnum),headers(Hash),response body(响应#each)] 一个包含两个元素的数组:[status(Fixnum),响应体(响应#each)] 一个对象响应#each并将除字符串之外的任何内容传递给给定块 Fixnum代表状态代码&#34;

相关问题