在rails上的ruby中的after_update回调

时间:2012-08-09 06:43:02

标签: ruby-on-rails ruby-on-rails-3 activerecord model

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

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

我收到以下错误

  

未定义的方法`create'for Rake :: Task:Class

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

我不是百分之百确定这个,但看起来当你引用Task类时,你正在选择错误的类(你从Rake模块中得到一个)。您可以尝试更改任务模型的名称,看看是否删除了冲突