Ruby on Rails - Ajout d'une variable aux paramètres [
-
26-09-2019 - |
Question
Dans le contrôleur, comment puis-je ajouter une variable à la fin d'un paramètres []?
Si j'essaye ceci, j'obtiens une variable d'erreur: params [: group_] +
Comment faire?
Modifier par demande
Ok, j'ai un formulaire qui définit des groupes de boutons radio avec des noms comme celui-ci:
groupe_01drn0
Évidemment, j'ai différents groupes dans le formulaire (groupe_01aai0, groupe_01aui0, etc.) et la valeur est définie en fonction du bouton radio sélectionné dans le groupe:
Le bouton radio "Group_01drn0" pourrait avoir une valeur de "21" ou "22" ou "23", du bouton radio "Group_01aai0" pourrait avoir une valeur de "21" ou "22" ou "23", etc.
Dans la base de données, j'ai chaque code (01drn0, 01aai0, 01aui0, etc.), je veux donc les sélectionner dans db et itérer dans la valeur des params afin que je puisse obtenir la valeur du groupe de boutons radio, j'ai essayé cela sans chance:
@codes=Code.get_codes
for c in @codes
@all=params[:group_] + c.name
end
Merci.
La solution
params looks like a hash, but it really isn't. So if you need to "augment" params as you deal with the incoming data in your controller, invent a new data structure that includes either params or its members.
Added:
Maybe you're looking for
@codes=Code.get_codes
@all = []
for c in @codes
@all << params["group_#{c.name}"]
end
Autres conseils
p = params
p[:new_param_name] = new_param_value
It works for me (rails 3.2).
Nota: using p
instead of altering params
avoids altering original parameters.