Friday 15 January 2010

ruby on rails - Using update_attribute and getting NoMethodError: undefined method `0=' for #<User:0x007fe470de2950 -


समस्या कथन

मेरे नियंत्रक में मैं एक बूलीयन विशेषता not_registered में resource.update_attribute (resource.not_registered, 1) का उपयोग करके, लेकिन NoMethodError प्राप्त हो रहा है: # & lt; प्रयोक्ता के लिए: 0x007fe470de2950 कुछ पता है कि ऐसा क्यों हो रहा है?

मेरी प्रगति
  • मैं किसी भी विचारों की सराहना कर सकता हूँ, यह आखिरी बग है जिसे मुझे इस परियोजना को पूरा करने से पहले काम करने की जरूरत है! इसके बजाय सेव का उपयोग करने में देखा, लेकिन इसलिए नहीं कि मुझे सत्यापन छोड़ना होगा
  • शेल में, संसाधन (डिवाइसे द्वारा बनाई गई) वर्तमान उपयोगकर्ता का एक उदाहरण प्रतीत होता है
  • अपडेट नियंत्रक resource.not_registered = & gt; निष्पादित करने से पहले 0 , जो सही है ... इसलिए मुझे पता है कि resource.not_registered सही वाक्यविन्यास है।
  • अगर मैं resource.update_attribute चलाता हूं, तो मुझे !! # & Lt; ArgumentError: गलत संख्याओं की संख्या (2 के लिए 0) & gt; ... इसलिए मुझे पता है कि update_attribute संसाधन के लिए एक विधि के रूप में मौजूद है
  • अंत में, मुझे update_attribute के लिए दस्तावेज मिला।

    कोड

    /app/controllers/registrations_controller.rb: < / P>

      वर्ग पंजीयन नियंत्रक & lt; Devise :: रजिस्ट्रेशन नियंत्रक def अद्यतन अगर resource.update_with_password (params [resource_name]) resource.update_attribute (resource.not_registered, "1") # यह वह जगह है जहाँ मुझे अपना त्रुटि संदेश set_flash_message मिलता है: नोटिस, अद्यतन sign_in resource_name, संसाधन,: बायपास = & gt; सच red_up_passwords (संसाधन) के लिए else_update_path_ के लिए (संसाधन) अन्य clean_up_passwords (संसाधन) "संपादन" समाप्ति अंत प्रस्तुत करना # संक्षिप्तता अंत के लिए कोड को हटा दिया गया है   

    /app/models/user.rb: <पूर्व> क्लास उपयोगकर्ता & lt; ActiveRecord :: बेस के लिए तैयार: डेटाबेस_अधिकृत,: registerable,: token_authenticatable, पुनर्प्राप्ति योग्य,: यादृच्छिक,: trackable,: वैध, योग्य: पुष्टि attr_accessible: ईमेल,: पासवर्ड,: password_confirmation,: remember_me,: not_registered,: pay_method,: pay_desc, : Email_instructions,: current_password def update_with_password (params = {}) # संक्षेप अंत समाप्ति के लिए कोड हटाया गया

    निम्नलिखित पंक्ति को बदलें

      संसाधन .update_attribute (resource.not_registered, "1") # यह वह जगह है जहाँ मुझे अपना त्रुटि संदेश मिलता है   

    से < / P>

      resource.update_attribute (: not_registered, "1") # यह वह जगह है जहाँ मुझे अपना त्रुटि संदेश प्राप्त होता है   

    और कुछ ठोस रेल दस्तावेज़ीकरण पढ़ें मैं सुझाव देता हूं कि

No comments:

Post a Comment