nil的未定义方法`keys':NilClass

时间:2012-03-02 02:49:24

标签: ruby-on-rails ruby json ruby-on-rails-3.1

为什么在迭代序列化的JSON哈希但是吐出该类为nil的时候?

视图

<% @test.yo.keys.each do |key| %>
  <%= key %>
<% end %>

模型

class Test < ActiveRecord::Base
  belongs_to :city
  serialize :yo, JSON
end

1 个答案:

答案 0 :(得分:1)

对于@test来说,哟是零。在你调用一个方法之前你需要检查你的nil:

<% if !@test.yo.nil? %>
  <% @test.yo.keys.each do |key| %>
    <%= key %>
  <% end %>
<% end %>

你可能会找到一个更好的地方来检查,但这可以让你知道如何解决它