जब मैं cmd ​​"रेक डीबी: बीज" में लिखता हूं, तो मुझे यह त्रुटि मिली:

रेक निरस्त!

ActiveModel::UnknownAttributeError: रिकॉर्डिंग के लिए अज्ञात विशेषता 'स्थिति'। G:/program/Rails/weather/db/seeds.rb:2:in `' कार्य: TOP => db:seed ( --trace के साथ कार्य चलाकर पूर्ण ट्रेस देखें)

वह मेरा "seeds.rb" कोड है

`l = Location.create(name: "New York City")
 l.recordings.create(temp: 32, status: "cloudy")
 l.recordings.create(temp: 34, status: "rainy")
 l.recordings.create(temp: 30, status: "rainy")
 l.recordings.create(temp: 28, status: "cloudy")
 l.recordings.create(temp: 22, status: "sunny")`
0
Sharuar jahan 15 मई 2017, 20:08
2
आप एक विशेषता या संबंध खो सकते हैं। हमें अपने Recording और Location मॉडल और माइग्रेशन दिखाएं।
 – 
Gerry
15 मई 2017, 20:10
लंबा शॉट, लेकिन क्या आप किसी भी मौके से स्थिति के संभावित मूल्यों का प्रतिनिधित्व करने के लिए एक एनम का उपयोग कर रहे थे?
 – 
himanish.k
13 जून 2018, 06:27

3 जवाब

आपको UnknownAttributeError मिल रहे हैं क्योंकि आपकी रिकॉर्डिंग तालिका में कोई कॉलम नहीं है। क्या आपने अभी तक स्टेटस कॉलम जेनरेट किया है? यदि नहीं, तो आप rails generate migration AddStatusToPRecordings status:string कर सकते हैं। फिर एक rake db:migrate करें

0
Raman Kumar Sharma 15 मई 2017, 20:18

आप Recording मॉडल के लिए अपने माइग्रेशन में status विशेषता नहीं खो रहे हैं।

टर्मिनल से इन चरणों का पालन करें:

# add `status` column in `recordings` table
rails generate migration AddStatusToRecording status:string
rake db:migrate

# seed the data into the db
rake db:seed

आशा है कि यह मदद करेगा।

0
RAJ 15 मई 2017, 20:19

समस्या तब आती है जब हम अपने डेटाबेस में डालने के लिए फ़ील्ड चूक जाते हैं और कोड में उपयोग करते हैं। इस मुद्दे को दिखाने के लिए केवल यही शर्त है।

माइग्रेशन स्क्रिप्ट बनाएं

bin/rails generate migration addStatusToReceiptItems

class AddStatusToReceiptItems < ActiveRecord::Migration
  def change
    add_column :receipt_items, :status, :boolean
  end
end

फिर कमांड चलाया

rake db:migrate
0
Dinesh Vaitage 5 अक्टूबर 2018, 07:17