私のアプリが新しい作業指示書を作成すると、その作業指示書に関連付けられた最初のタスクも作成されます。新しいタスクの 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 つのレコードが表示されます =
IDステータスコード
2 新規
3 開始
4 完了
おかしなことが起きている!!
UPDATE 2 - あなたはこれを信じるつもりはありません!!!!!! (私はしません) - しかし、それは本当です。
コードを次のように変更しました。
Taskstatus.where(:statuscode => "New")
そして New は id = 2 ですが、タスクは 1 になりました
postgreSQL に問題がある可能性はありますか?