क्या मजबूत पैराम का उपयोग करके अक्षम करने के लिए वैसे भी है?रेल में 4 डिफ़ॉल्ट रूप से मजबूत पैरामीटर अक्षम करें
और मुझे पता है कि यह एक सुरक्षा भेद्यता है लेकिन मुझे वास्तव में इसकी आवश्यकता नहीं है/इसे चाहिए।
क्या मजबूत पैराम का उपयोग करके अक्षम करने के लिए वैसे भी है?रेल में 4 डिफ़ॉल्ट रूप से मजबूत पैरामीटर अक्षम करें
और मुझे पता है कि यह एक सुरक्षा भेद्यता है लेकिन मुझे वास्तव में इसकी आवश्यकता नहीं है/इसे चाहिए।
यदि "अक्षम" से आपका मतलब है कि रेल 3-शैली attr_accessible
लाइनों पर वापस आना है, तो हाँ।
बस protected_attributes मणि का उपयोग करें।
मुझे ऐसा नहीं लगता है।
DHH टिप्पणी here on this pull request to add a disable switch to strong parameters
यह सबवैसे भी जल्द ही एक विरासत चिंता का विषय है 4.0 रेल हर किसी पर मजबूत मापदंडों के लिए मजबूर हो जाएगा और आप इसे बंद करने में सक्षम नहीं होगा के रूप में।
विशेषता सुरक्षा को बंद करना लगभग हमेशा एक बुरा विचार है।
कि अनिवार्य टिप्पणी के साथरास्ते से बाहर, यहाँ इसे बंद करने के लिए है:
config.action_controller.permit_all_parameters = true
config/application.rb
पाठ्यक्रम आप कर सकते हैं के में रखें यह! मजबूत पैरामीटर्स की आधिकारिक दस्तावेज़ (https://github.com/rails/strong_parameters) के अनुसार, आप अपने config/application.rb के लिए कोड नीचे जोड़कर निष्क्रिय कर सकते हैं:
config.active_record.whitelist_attributes = false
यह मेरे लिए काम करता रेल में 3.2
यह संरक्षित_ सामग्री को अक्षम करना है – brauliobo
मैं इस समस्या में पड़ गए, जहां मैं स्ट्रिप से वेबहूक से सभी पैरा को स्टोर करने की कोशिश कर रहा था।
यदि आप एक ही उदाहरण के लिए सभी पैरामीटर को अनुमति देना चाहते हैं, तो आप अपनी प्रारंभिक विधि में इसे पार करने से पहले अपने पैराम ऑब्जेक्ट पर #to_hash को कॉल कर सकते हैं।
पूर्व:
@my_object = MyObject.new(params[:my_object].to_hash)
को रोकने के लिए मना गुण आपके अनुप्रयोगों आप चेक बाहर पैच कर सकते हैं के लिए जाँच की जा रही ..
उदाहरण के लिए निम्नलिखित कोड में
config डाल/initializers/disabled_strong_parameters.rb
module ActiveModel
module ForbiddenAttributesProtection
protected
def sanitize_for_mass_assignment(attributes)
attributes
end
alias :sanitize_forbidden_attributes :sanitize_for_mass_assignment
end
end
बस कोशिश की और यह काम नहीं किया मैं (एक रेल 4.0.0 ऐप पर)। – Batkins
मेरे लिए काम किया। सहमत - यह आम तौर पर एक बुरा विचार है - लेकिन मेरा उपयोग केस एक व्यवस्थापक साइट है जहां व्यवस्थापक कुछ भी बदल सकते हैं। – Zubin
यह मेरे लिए काम किया। लाइन को अपने एप्लिकेशन क्लास के अंदर रखना सुनिश्चित करें और HTTP सर्वर को रीबूट करें। – Guildenstern70