3 Réponses :
Il n'y a pas d'intégration intégrée avec des modèles; Vous passez dans le rôle dans le «code> assign_attributes code> appelez: the de la même manière, : comme code> paramètre paramètre par défaut sur
: défaut code> et vous pouvez transmettre n'importe quel symbole que vous voulez. Pour l'intégrer à votre modèle code> utilisateur code>, vous pouvez lui donner un attribut appelé
rôle code>, puis faire quelque chose comme: p>
: sans_protection code>: p>
nouveau code>,
Créer code>,
Créer! code>,
update_attributes code> et
update_attributes! code> méthodes Tous respectent la sécurité de la masse. Le Guide Ruby On Rails sur la sécurité a Plus d'infos . P> P>
Cependant j'ai une question. Je mettant la mise à niveau des rails 4 jusqu'à 5 (qui était auparavant sur les rails 3. Et je suis tombé sur quelque chose comme @ project.update_attributes (paramètres [: projet],: AS => actuel_user.role.to_sym) code> mais je reçois une erreur qui dit
update_attributes code> n'accepte qu'un seul argument. Qu'est-il arrivé au
comme :: admin code> partie de ce code? Est-il sécuritaire de le supprimer complètement ?
Pour les deux scénarios, vous le laisseriez de la même manière que vous le déclarez à l'origine. Donc, par exemple: si vous avez fait p> , vous ne pourrez pas affecter le Cependant, si vous indiquez qu'il sera Credit_Card Code >:: p>
: as =>: admin code> alors il le permet p>
user = User.new({:name => "John", :credit_card => "1234123412341234"}, :as => :admin)
user.attributes # {:name => "John", :credit_card => "1234123412341234"}
Tous les attributs que vous souhaitez accéder en tant qu'utilisateur spécifique doivent être définis correctement. Par exemple:
@user.update_attributes(params[:user], :as => :admin)