Je la forme suivante:Rails 3 - Utilisation du formulaire Params dans la mise à jour d'un contrôleur?
<%=form_for [:project, @permission], :url => { :action => "update" } do |f| %>
<% roles = Role.all %>
Role: <%= f.collection_select :role_id, roles, :id, :name, :prompt => true %>
<%=f.submit "Send Request" %>
<%=f.hidden_field :user_id %>
<% end %>
Dans mon contrôleur je:
mettre à jour def
@permission = Permission.find_by_user_id(params[:user_id])
.
.
.
fin
** Ce que je veux faire est de mettre à jour le role_id ,,,, donc j'ai besoin de ce qui précède pour trouver l'enregistrement d'autorisation ... Le problème est ,,, params [: user_id] revient null?
Ai-je raté quelque chose? grâce
Mise à jour
Voici les params d'erreur et demande, qui montrent les vars sont là?
POST Started "/ projets/3/autorisations/useronproject" pour 127.0.0.1 au jeu le 14 octobre 2010 12:17:12 -0700 Traitement par PermissionsController # mise à jour en HTML Paramètres: { "commit" => » Envoyer la demande "," authenticity_token "=>" KJ2C20MzTJ8VQV0NiNzOr357QKV5hWjeuazOBcS5iPU = "," utf8 "=>" ✓ "," id "=>" useronproject "," permission "=> {" role_id "=>" 1 "," user_id " => "11"}, "project_id" => "3"}
Charge de l'utilisateur (0.3ms) SELECT "users". * FROM "users" WHERE ("users". "Id" = 1) LIMIT 1
Autorisation Charger (0.1ms) SELECT "permissions". * FROM "autorisations" WHERE ("permissions". "User_id" EST NULL) LIMIT 1
voir - user_id est NULL?
Cela fait. Je vous remercie! Des points bonus pour m'aider à comprendre pourquoi c'est le cas? Pourquoi est-ce que c'est le hash des params? thxs – AnApprentice
f.hidden_field est automatiquement lié à l'objet d'autorisation. Si user_id n'appartient pas à l'objet d'autorisation, n'utilisez pas l'objet f, utilisez simplement un assistant hidden_field. – DGM
BTW, utilisez votre fichier journal, il nous a dit cela. Notez que user_id est à l'intérieur des parenthèses vers lesquelles "permission" pointe. – DGM