Mongoid的demongoize方法

时间:2016-06-03 06:33:30

标签: ruby-on-rails ruby mongodb

我正在使用MongoDB构建Web服务。除了一件事之外,每件事情都有效我收到一个错误: enter image description here

我的demongoize方法:

def self.demongoize obj
case obj
 when nil then nil
 when {} then Address.new
 when Hash then Address.new(obj[:city], obj[:state], Point.new(obj[:loc][:coordinates][0], obj[:loc][:coordinates][1])) if obj[:city]&&obj[:state]&&obj[:loc]
 when Address then obj
 else nil
 end
 end

在我看来,demongoize nil返回nil,后来在我看来有entrant.city。所以我添加了一些逻辑:

 <tbody>
    <% @entrants.each do |entrant| %>
      <tr>
        <td><%= entrant.overall_place %></td>
        <td><%= format_hours entrant.secs %></td>
        <% if entrant.racer.id %>
          <td><%= link_to "#{entrant.last_name}, #{entrant.first_name}", racer_path(entrant.racer.id) %></td>
        <% else %>
          <td><%= "#{entrant.last_name}, #{entrant.first_name}" %></td>
        <% end %>

        <td><%= entrant.bib %></td>
        <% if entrant.city %>
        <td><%= entrant.city %></td>
         <% else %>
         <td><%= nil %></td>
         <% end %>
        <% if entrant.state %>
        <td><%= entrant.state %></td>
         <% else %>
         <td><%= nil %></td>
         <% end %>
         ...

但我仍然遇到同样的错误。我会感激任何帮助。

0 个答案:

没有答案