Le hachage params
est ce que vous obtenez lorsque l'utilisateur demande la page. Par exemple:
https://www.example.com/index.html?username=john&[email protected]
Le hachage params
serait
{username: 'john', email: '[email protected]'}
Et vous pouvez évaluer alors comme params[:username]
.
On dirait que vous essayez d'utiliser des paramètres forts pour définir ce que l'utilisateur peut ou ne peut pas mettre à jour. Dans ce cas, ce que vous devez faire est
def update
user = User.find(params[:id])
user.update_attributes(params.require(:user).permit(:foo))
end
Cela ne permettra à l'utilisateur de mettre à jour l'attribut foo
et rien d'autre.
Parce que cela est si commun, il est standard d'écrire une méthode privée appelée user_params
et appelez simplement cette méthode lorsque vous appelez save
.
def update
user = User.find(params[:id])
user.update_attributes(user_params)
end
private
def user_params
params.require(:user).permit(:foo)
end