जब मैं उपयोगकर्ता को व्यवस्थापक के रूप में संपादित करने का प्रयास कर रहा हूं तो मैं सत्यापन को छोड़ना चाहता हूं।update_attributes के दौरान व्यवस्थापक के रूप में सत्यापन को कैसे छोड़ें?
मॉडल
class User
...
attr_accessible :company_id, :first_name, :disabled, as: :admin
नियंत्रक
class Admin::UsersController
...
def update
@user = User.find(params[:id])
@user.update_attributes(params[:user], as: :admin)
redirect_to edit_admin_user_path(@user), :notice => "User Account Updated"
end
तो मैं
def update
@user = User.find(params[:id])
@user.attributes = params[:user]
@user.save(validate: false)
redirect_to edit_admin_user_path(@user), :notice => "User Account Updated"
end
को update
कार्रवाई बदलने की कोशिश की लेकिन तब मैं न 0 सेट करने के लिए उपयोग कर सकते हैऔर :company_id
गुण क्योंकि मुझे नहीं पता है, जहां स्थापित करने के लिए as: :admin
मैं रेल के लिए नया। क्या यह सुरक्षित है? क्या यह विधि मजबूत मानकों के बिंदु को पराजित नहीं करती है? या मुख्य रूप से बड़े पैमाने पर असाइनमेंट भेद्यता के लिए मजबूत पैरामीटर हैं? –
मजबूत पैरामीटर बड़े पैमाने पर असाइनमेंट भेद्यता के लिए हैं, आप इसके साथ संयोजन में संदर्भ सत्यापन का उपयोग कर सकते हैं, मैंने कभी भी इसे रोलिंग जांच के लिए उपयोग नहीं किया है, आमतौर पर जब मॉडल को कई रूपों में अपडेट किया जाता है और सत्यापन के बीच उनके बीच भिन्नता की आवश्यकता होती है – house9