2010-08-03 4 views

Répondre

3

Je suggère d'utiliser #update_attribute, pas #update_attributes. #update_attribute (singulier) accepte deux paramètres: le nom de l'attribut et la valeur. Ceci est destiné à retourner des booléens ou à mettre à jour des valeurs uniques. La sémantique de #update_attribute signifie également que les rappels ne seront pas déclenchés.

À partir de votre code, il est un simple changement:

@employee.update_attribute(:subscribed, false) 

Maintenant, pour la vraie raison pour laquelle votre code échoue parce que vous avez un endroit où vous utilisez #attr_accessible ou #attr_protected dans votre modèle employé. L'utilisation de #attr_accessible permet d'éviter les attaques par injection en autorisant uniquement certains champs à être attribués à partir de # attributes = (ce que #update_attributes appelle finalement). L'avertissement provient de # attributes =.

1

nécessaire attr_accessible :subscribed> _ <

Questions connexes