MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगोइड डब्ल्यू/रेल, attr_accessible -> कोई विधि नहीं मिली

ठीक है, मुझे समस्या मिल गई है।

सबसे पहले, मुझे लगता है कि आप रेल 4 का उपयोग कर रहे हैं। आपको यह त्रुटि मिलने का कारण यह है कि attr_protected और attr_accessible रेल 4 से हटा दिया गया है और अपने मणि में रखा गया है। रेल अब एक नए सुरक्षा मॉडल को प्रोत्साहित कर रही है। आप इसके बारे में README में पढ़ सकते हैं। . अगर आप पुराने व्यवहार का उपयोग जारी रखना चाहते हैं, तो आपको protected_attributes gem शामिल करना होगा . आशा है कि यह मदद करता है।

संपादित करें:मैंने नीचे स्पष्टीकरण जोड़ा है क्योंकि यह उपयोगकर्ताओं के साथ रेल 4 में अपग्रेड करने के लिए एक आम समस्या होने की संभावना है।

अगर आप attr_accessible . का उपयोग जारी रखना चाहते हैं , यानी रेल 3 रास्ता, बस gem protected_attributes जोड़ें आपके जेमफाइल के लिए।

यदि आप रेल 4 तरीके से काम करना शुरू करना चाहते हैं, तो आपको अब attr_accessible का उपयोग नहीं करना चाहिए . इसके बजाय, आपको विशेषता अनुमति तर्क को नियंत्रक में ले जाना होगा। यहां एक उदाहरण दिया गया है:

class UsersController < ApplicationController
  def create
    # Using params[:user] without calling user_params will throw an error because 
    # the parameters were not filtered. This is just some Rails magic.
    @user = User.new user_params
    if @user.save
      # Do whatever
    else
      render action: :new
    end
  end

  private
  def user_params
    # params.require(:user) throws an error if params[:user] is nil

    if current_user.nil? # Guest
      # Remove all keys from params[:user] except :name, :email, :password, and :password_confirmation
      params.require(:user).permit :name, :email, :password, :password_confirmation
    elsif current_user.has_role :admin
      params.require(:user).permit! # Allow all user parameters
    elsif current_user.has_role :user
      params.require(:user).permit :name, :email, :password, :password_confirmation
    end
  end


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB bind_ip त्रुटि:बाइंड () विफल त्रुटि:99 सॉकेट के लिए अनुरोधित पता निर्दिष्ट नहीं कर सकता

  2. ऑब्जेक्ट की तुलना करने के लिए $ लुकअप में मोंगोडब $ मैच ऑपरेशन अपेक्षित रूप से काम नहीं कर रहा है

  3. ऐरे फ़ील्ड की लंबाई के आधार पर दस्तावेज़ों को कैसे सॉर्ट करें

  4. सूची में टैग के साथ दस्तावेज़ प्राप्त करें, मैचों की कुल संख्या के अनुसार आदेश दें

  5. क्या अनुक्रमित कुंजियों पर कर्सर.स्किप () हमेशा तेज होता है?