Ruby 使用 ERB 从对象迭代

Ruby Iterate from an object using ERB

我是新手,负责做前端工作,但我认为我可以轻松搞定 ERB。

在我的 app.rb 定义的变量

def find_listings
   3.times.map { random_item }
end

def random_item
  {
    name: 'blah',
    location: 'LA'
   }
end

get '/' do
   @listings = find_listings
   erb :index
end

在我的 ERB 文件中,我正在尝试迭代

index.erb

<% @listings.each do |value | %>    
        <strong><%= value %><br/>
        <%# This returns {:name=>"blah", :location=>"New York"} %>
        <strong><%= value['name']%></strong><br/>
        <%# This returns nothing %>  
<% end %>

如何获取名称值?

你的散列有符号作为键(不是字符串),所以你可以这样访问名字:value[:name].