2012-02-11 24 views
18

रूबी-1.9.2 और रेल 3.2.1 का उपयोग करना। Mysql2 का संस्करण 0.2.7 है।शून्य के लिए अपरिभाषित विधि 'स्वीकार करें': रेक डीबी पर नील क्लास: माइग्रेट

रेक db चल पर: विस्थापित मैं त्रुटि मिलती है: "अपरिभाषित विधि` शून्य के लिए स्वीकार्य है ': NilClass: "

ट्रेस शामिल हैं:

रत्न/ActiveRecord-3.2.1/lib/active_record /connection_adapters/abstract/database_statements.rb:7:in `to_sql '

+0

के बीच संगतता क्या तुमने कभी एक सफल रेक db किया है देखना चाहिए हैं: विस्थापित, या इस स्थापित एक ताजा है? क्या कोई अन्य रेक आदेश काम करते हैं? –

+0

हाय मार्क, यह एक नया इंस्टॉल है - 10.7 मैक ओएस एक्स में अपग्रेड करें। रेक डीबी: ठीक काम करें। – vectran

+0

@vectran क्या आपने इस समस्या को ठीक किया? मुझे अब एक ही समस्या का सामना करना पड़ रहा है। – chhantyal

उत्तर

11

ठीक है, मैंने अपनी मशीन पर तय किया है। यह पुराने MySQL2 की वजह से है। समस्या को हल करने के लिए ऐसा करें।

bundle update mysql2 

     Or 

bundle update 

अधिक जानकारी के जाएँ Github

+0

धन्यवाद, मेरे लिए काम किया। – timeon

0

आप अपने database.yaml में अगर यह मिल आप दायर करवाना:

dev: 
    adapter: mysql2 

यह चाहिए हो (भले ही मणि आप उपयोग कर रहे mysql2 है) :

dev: 
    adapter: mysql 

मुझे यह समझने के लिए एक हफ्ते में ले गया, मुझे आशा है कि यह आपको कुछ समय बचाएगा।

10

मेरे लिए मणि निकाल कर 'ActiveRecord-mysql2-अनुकूलक' रत्न फ़ाइल से

+0

रेल 3.0.3 से रेल के लिए अपग्रेड करते समय मेरे लिए काम करता है 3.2.8 – superluminary

+1

उस दवा ने मेरा एइल –

1

नवीनतम mysql2 माणिक रत्न स्थापित बाहर काम किया। मेरी environtment:

Rails3.2.9 + mysql2 0.2.9, : "undefined method `accept' for nil:NilClass:" 
Rails3.2.9 + mysql2 0.3.11, works fine 
28

बदलें अपनी Gemfile से:

gem 'activerecord-mysql2-adapter' 

रहे हैं:

gem 'mysql2' 
+0

ठीक किया। इसे एक में मिला! – MichelV69

+0

जिसने मेरी समस्या को भी हल किया! – n00b

+1

ऐसा क्यों होता है? – Maruccio

-1

परिभाषित करें:

def nil.accept 
    puts "Accepted." 
end 

और त्रुटि दूर जाना होगा।

1

यह आपके mysql और ruby संस्करण की असंगतता के कारण हो सकता है।

इसे हल करने के लिए या तो अपने mysql मणि को gem install mysql द्वारा अपडेट करें जो नवीनतम mysql मणि स्थापित करेगा।

और फिर इसे अपने Gemfile में जोड़ें।

अभी भी समस्या तो मौजूद है तो आप अपने गहरे लाल रंग का और mysql

संबंधित मुद्दे