Ruby on rails 雇员再培训局除非给出不一致的结果

Ruby on rails 雇员再培训局除非给出不一致的结果,ruby-on-rails,erb,Ruby On Rails,Erb,我看到了一些意想不到的事情,我无法解释 我有以下代码: <% unless task.complete %> ... do stuff ... <% end %> 这与预期的一样,可以显示属于父对象的未完成的任务对象。然而,在一种情况下,也只有一种情况不是这样。如果不起作用,将抛出以下错误: undefined method `encoding' for 1:Fixnum Extracted source (around line #1): 1 <% unle

我看到了一些意想不到的事情,我无法解释

我有以下代码:

<% unless task.complete %>
... do stuff ...
<% end %>
这与预期的一样,可以显示属于父对象的未完成的任务对象。然而,在一种情况下,也只有一种情况不是这样。如果不起作用,将抛出以下错误:

undefined method `encoding' for 1:Fixnum

Extracted source (around line #1):

1 <% unless task.complete %> 
2
3
4
除了一种情况外,代码始终有效。失败的情况是当呈现一个特定的父对象时。父对象不显著。它有任务,既有完成的任务,也有未完成的任务。但其他父对象也是如此,但只有一个父对象产生错误

有什么想法吗

提前谢谢

编辑:从日志中添加完整详细信息

    SELECT "engineers".* FROM "engineers" WHERE "engineers"."id" = ? ORDER BY "engineers"."id" ASC LIMIT 1  [["id", 1]]
  Rendered tasks/_task.html.erb (1.1ms)
  Rendered engineers/show.html.erb within layouts/application (7.2ms)
Completed 500 Internal Server Error in 9ms

ActionView::Template::Error (undefined method `encoding' for 1:Fixnum):
    1: <% unless task.complete %>
    2:  <div class="panel panel-default">
    3:      <div class="panel-body">
    4:          <% case task.priority
  app/views/tasks/_task.html.erb:1:in `_app_views_tasks__task_html_erb__2551940590140316489_25250680'
  app/views/engineers/show.html.erb:48:in `_app_views_engineers_show_html_erb__2573349182138661268_27996040'


  Rendered /home/local/ANT/eppreece/.rvm/gems/ruby-2.1.0/gems/actionpack-4.0.3/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.0ms)
  Rendered /home/local/ANT/eppreece/.rvm/gems/ruby-2.1.0/gems/actionpack-4.0.3/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.7ms)
  Rendered /home/local/ANT/eppreece/.rvm/gems/ruby-2.1.0/gems/actionpack-4.0.3/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (7.3ms)

检查日志中的堆栈跟踪,并确定实际抛出错误的代码行。@EricP什么是完整的?这是您定义的方法吗。请分享问题中的相关代码。对延迟回复表示歉意@Kirti Thorat-complete是数据库任务表中的一个二进制列。在数据库中,任务属于父对象“工程师”。该代码对除一名工程师以外的所有工程师执行。如果任务完成,我不执行代码。我已经发布了相关代码。“除非”语句中的代码只是一些html标记,对于除一名“工程师”之外的所有“工程师”来说都是完美的。请在您的问题中包含堆栈跟踪,以便更清晰地格式化以及将来阅读该问题的人。二进制列?它在Rails中是否映射为布尔值?