handle_asynchronously:xxx导致“无路由匹配[GET]”,重新加载“未定义方法`每个'为nil:NilClass”

时间:2012-07-18 12:13:46

标签: ruby-on-rails ruby delayed-job

看完RailsCast about delayed_job后,我想像这样使用handle_asynchronously帮助器:

class EmailsController < ApplicationController
  handle_asynchronously :import_from_accounts
end

然后当我进入我的页面并点击重新加载时,我收到以下错误:

Routing Error
No route matches [GET] "/de/emails"

重新加载它(不更改任何代码),我得到另一个错误(重新加载此错误后不断显示):

NoMethodError in Emails#index

Showing /Users/josh/Documents/Work/Sientia/iq/app/views/shared/iqlist/init.html.haml where line #7 raised:

undefined method `each' for nil:NilClass
Extracted source (around line #7):

4:       %tr
5:         %th.icon
6:           = check_box_tag "iqlist_delete_all", "iqlist_delete_all", false, :id => "iqlist_delete_all"
7:         -fields.each do |field|
8:           -field_name = (field.is_a? String )? field : field[:name]
9:           %th
10:             -sort_name=(field_name.split('.').count()>1)? "#{field_name.split('.')[0].pluralize}.#{field_name.split('.')[1]}" : field_name

当我将handle_asynchronously的参数更改为其他任何内容时,同样会再次发生,首先是GET错误,然后是undefined-method-error。

我不确定第二个错误意味着什么,这不是我的代码。但我发现错误从第1次重新加载到第2次重新加载非常奇怪。这可能是什么? delayed_job到目前为止工作得很好,所以我怀疑这是handle_asynchronously方法的问题......

知道问题是什么吗?谢谢你们,伙计们。

1 个答案:

答案 0 :(得分:0)

我首先尝试解决第一个问题。要查看您的路线:

rake routes

我希望发生第二个错误,因为第一个错误不会返回任何内容。