Rails无意中在视图中显示JSON

mac*_*ack 2 json ruby-on-rails

我正在使用Rails 4,并且在我的一个观点中有一个奇怪的问题.在我的控制器中,我使用Ruby_Open_Weather_Map gem 从OpenWeatherMap.org获取天气预报.数据以JSON形式返回,我循环访问JSON并提取接下来5天的预测信息.奇怪的是,在我的循环之后,显示了JSON数据.

在此输入图像描述

我是Rails和JSON的新手,这对我没有任何意义.我有一个第二页,它有更多关于它的信息,同样的事情发生.这就是我的控制器的样子:

  def index
    options = { units: "Imperial", APPID: '6eff99d4b460d3a1acddcf1a727a7a45' }
    @currentweather = OpenWeather::Current.city("Greenville, SC", options)
    @forcastweather = OpenWeather::ForecastDaily.city("Greenville, SC", options)
  end
Run Code Online (Sandbox Code Playgroud)

这就是我的观点:

    <%= @forcastweather['list'].each do | day | %>
    <div class ="row">
      <div class="col-xs-5">
        <strong><%= Time.at(DateTime.strptime(day['dt'].to_s,'%s')).in_time_zone("Eastern Time (US & Canada)").strftime("%A") %></strong>
      </div>
      <div class="col-xs-3">
        <%= day['temp']['min'] %>
      </div>
      <div class="col-xs-3">
        <%= day['temp']['max'] %>
      </div>
      <div class="col-xs-2">
        <img src="http://openweathermap.org/img/w/<%= day['weather'][0]['icon'] %>.png" alt="<%= day['weather'][0]['main'].humanize %>">
      </div>
    </div>
  <% end %>
Run Code Online (Sandbox Code Playgroud)

为什么JSON会在我的视图中显示,我该如何解决?

Mat*_*att 6

<%= @forcastweather['list'].each do | day | %>
Run Code Online (Sandbox Code Playgroud)

取出= out

<% @forcastweather['list'].each do | day | %>
Run Code Online (Sandbox Code Playgroud)

使用<%=将告诉rails评估此代码,然后呈现结果,因此rails评估代码,循环条目,写入html ...然后呈现值@forcastweather['list'].

<% 将告诉rails评估代码,但不会从中渲染任何内容.