Voglio saltare la convalida quando sto cercando di modificare l'utente come amministratore.Come saltare le convalide come admin durante update_attributes?
Modello
class User
...
attr_accessible :company_id, :first_name, :disabled, as: :admin
controller
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
così ho provato a cambiare update
azione per
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
Ma poi non ho accesso a impostare :disabled
e :company_id
attributi perché non so dove per impostare as: :admin
Sono nuovo alle rotaie. È sicuro farlo? Questo metodo non sconfigge il punto di forti parametri? O sono forti i parametri in primo luogo per le vulnerabilità di massa di assegnazione? –
parametri di forza sono alla ricerca di vulnerabilità di massa di assegnazione, è possibile utilizzare la convalida contesto in combinazione con questo, non ho mai effettivamente utilizzato per il controllo di ruolo, di solito quando un modello viene aggiornato in dalle molteplici forme e la convalida bisogno di differire tra loro – house9