0

在观看RailsCast 关于 delay_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。

我不太确定第二个错误是什么意思,这不是我的代码。但是我觉得很奇怪,错误从第一次重新加载到第二次重新加载。这可能是什么?delayed_job到目前为止工作得很好,所以我怀疑这与handle_asynchronously方法有关......

知道问题是什么吗?感谢你们。

4

1 回答 1

0

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

rake routes

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

于 2012-07-18T13:17:06.120 回答