में रिकॉर्ड डालने पर कॉलम "create_at" कॉलम में शून्य मान मेरे पास Job
मॉडल और Category
मॉडल है जिसे मैं एक HABTM एसोसिएशन का उपयोग करके शामिल हो गया हूं।पीजी :: त्रुटि: त्रुटि: संबंधित मॉडल
Categories_Jobs
मॉडल को असाइन करने का प्रयास करते समय मुझे एक त्रुटि मिल रही है।
PG::Error: ERROR: null value in column "created_at" violates not-null constraint
j = Job.first
Job Load (0.7ms) SELECT "jobs".* FROM "jobs" LIMIT 1
=> #<Job id: 7, user_id ...(removed rest of details for sake of clarity)
j.categories
Category Load (0.8ms) SELECT "categories".* FROM "categories" INNER JOIN "categories_jobs" ON "categories"."id" = "categories_jobs"."category_id" WHERE "categories_jobs"."job_id" = 7
=> []
j.category_ids = [1]
Category Load (6.1ms) SELECT "categories".* FROM "categories" WHERE "categories"."id" = $1 LIMIT 1 [["id", 1]]
(0.2ms) BEGIN
(0.6ms) INSERT INTO "categories_jobs" ("job_id", "category_id") VALUES (7, 1)
(0.1ms) ROLLBACK
ActiveRecord::StatementInvalid: PG::Error: ERROR: null value in column "created_at" violates not-null constraint
मैं अपने Categories_Jobs
मॉडल से timestamps को दूर करना चाहिए?
class CreateCategoriesJobs < ActiveRecord::Migration
def change
create_table :categories_jobs, :id => false do |t|
t.integer :category_id
t.integer :job_id
t.timestamps
end
end
end
क्या मुझे यह एक और तरीका करना चाहिए?
हमें t.timestamps का उपयोग क्यों नहीं करना है? – albertopriore
एचएबीटीएम के लिए यह रिलेशनशिप टेबल है ताकि हम यहां टाइमस्टैम्प का उपयोग न कर सकें। यदि हम टाइमस्टैम्प का उपयोग करना चाहते हैं तो has_many का उपयोग करें: हालांकि रिश्ते –