existe-t-il de toute façon pour désactiver en utilisant des params solides? P>
Et je sais que c'est une vulnérabilité de sécurité mais je n'en ai vraiment pas besoin / le veut. P>
6 Réponses :
Je ne pense pas. P>
DHH Commentaires ici sur cette requête d'extraction pour ajouter un interrupteur désactivé sur les paramètres forts < / p>
Tout cela est une préoccupation héritée de toute façon, alors que les rails 4.0 forceront des paramètres puissants sur tout le monde et que vous ne pourrez pas l'éteindre. P> blockQuote>
Si par "Désactiver", vous voulez dire tomber sur Rails à 3 style Il suffit d'utiliser protégé_attributes Gem. P> attr_accesible code> lignes, puis oui. p>
éteindre la protection de l'attribut est presque toujours une mauvaise idée.
Avec cette note obligatoire à l'écart, voici comment éteindre: P>
config.action_controller.permit_all_parameters = true
Je viens d'essayer cela et ça n'a pas fonctionné pour moi (sur une application 4.0.0 Rails).
Travaillé pour moi. D'accord - c'est généralement une mauvaise idée - mais mon cas d'utilisation est un site d'administration où les administrateurs peuvent changer quoi que ce soit.
Cela a fonctionné pour moi. Assurez-vous de mettre la ligne dans votre classe d'applications et de redémarrer le serveur HTTP.
Ce conseil est inestimable lors de la migration d'une application plus ancienne (Rails 3.2) et d'essayer d'obtenir les spécifications existantes en tant que première passe à la migration, avant de passer à travers le travail de nouveau modèle et du contrôleur pour utiliser la nouvelle protection de masse. approche adoptée dans les rails 4.
Bien sûr que vous pouvez! Selon les documents officiels de Paramètres forts ( https://github.com/rail/strong_paramètres ), vous pouvez désactiver En ajoutant des codes ci-dessous à votre configuration / application.rb: Cela fonctionne pour moi dans les rails 3.2 p> p>
Ceci est pour désactiver Protected_Attributes
J'ai couru dans ce problème où j'essayais de stocker tous les paramètres d'une webhook de Stripe.
Si vous souhaitez autoriser tous les paramètres pour une seule instance, votre peut appeler #TO_HASH sur votre objet Params avant de le transmettre dans votre méthode d'initialisation. p>
ex: p>
Pour arrêter les attributs interdits vérifiés pour vos applications, vous pouvez corriger le chèque ..
Par exemple, mettez le code suivant dans P>
config / initialiseurs / désactiver_strong_parameters.rb p> < Pré> xxx pré> p>