Ruby on rails RubyonRails中更新回调后

Ruby on rails RubyonRails中更新回调后,ruby-on-rails,ruby-on-rails-3,activerecord,model,Ruby On Rails,Ruby On Rails 3,Activerecord,Model,我正在尝试使用customer bill的属性创建一个任务,下面给出了 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.c

我正在尝试使用customer bill的属性创建一个任务,下面给出了

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
类供应商:销毁
更新后:更新每日工作任务
def更新_日常_作业_任务
如果自己的金额存在&&自我约会,现在?
创建(:name=>self.supplier\u id.to\u s,:due=>self.date)
结束
结束
结束
任务模型

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
类任务“供应商账单\u id”
验证是否存在:name,:due
结束
我得到了以下错误

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


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

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

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

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

我对此不是100%确定,但当您引用任务类时,似乎选择了错误的类(您从Rake模块获取的类)。您可以尝试更改任务模型的名称,看看这是否会删除冲突

Yes,是Rails中的保留字。解决方案是更改模型的名称。是的,我更改了任务的名称,现在它工作正常。非常感谢。:)是的,是Rails中的保留字。解决方案是更改模型的名称。是的,我更改了任务的名称,现在它工作正常。非常感谢。:)