2

我正在尝试通过使用客户账单的属性来创建一个任务,下面给出的是

class Supplier < ActiveRecord::Base
has_many :tasks, :dependent => :destroy
 after_update :updating_daily_job_task

def updating_daily_job_task
  if self.amount.present? && self.date.present?
  Task.create(:name => self.supplier_id.to_s, :due => self.date)
end
end
end

任务模型

class Task < ActiveRecord::Base
  attr_accessible :name, :due, :complete, :user_id, :supplier_bill_id
  belongs_to :supplier_bill, :foreign_key => "supplier_bill_id"

  validates_presence_of :name, :due
end

我收到以下错误

Rake::Task:Class 的未定义方法“create”

谁能告诉我我做错了什么???提前致谢 :)

4

2 回答 2

3

您应该更改模型的类名Task。将其更改为SupplierTask或任何更相关的内容。任务在 Rails 内部的某个地方使用,这导致了这个问题。

于 2012-08-09T06:47:53.857 回答
1

我不是 100% 确定这一点,但看起来当您引用 Task 类时,您选择了错误的类(您从 Rake 模块中获得了一个)。您可以尝试更改任务模型的名称,看看是否消除了冲突

于 2012-08-09T06:48:41.283 回答