当我的应用程序创建新的工作订单时,它还会创建与该工作订单关联的第一个任务。新任务应将其 taskstatus 设置为 Taskstatus 表中的第一个 id。
Taskstatus 表中的第一条记录恰好有一个 id = 2。
但是,代码设置 task.taskstatus_id = 1
工单控制器代码:
before_create :first_task
protected
def first_task
self.tasks.build taskstatus_id: Taskstatus.first, taskname: self.description
end
我错过了什么?谢谢!
UPDATE ---- taskstatus 表中的第一条记录id = 2。id = 1 的记录被删除。我希望新任务记录的 taskstatus_id = 2。
在 taskstatus.rb 中,我有:
default_scope :order => 'id ASC'
这也创建了一个 taskstatus = 1 的任务
Taskstatus.limit(1)
我正在使用 postgreSQL。
在 taskstatus 索引页面上,显示 3 条记录 =
身份状态码
2 新
3 开始
4 完成
奇怪的事情发生了!!
更新 2 - 你不会相信这个!!!!!! (我不会)-但是,这是真的。
我将代码更改为:
Taskstatus.where(:statuscode => "New")
即使 New 的 id = 2,任务也得到了 1
postgreSQL 有什么问题吗?