Salut j'ai une forme simple pour mettre à jour un compte de l'utilisateur est ici mon contrôleurrails form_for erreur MongoId
def edit
@users = User.find(params[:id])
end
ici est mon avis
<%= form_for :user do |f| %>
<%= f.label :first_name %> <br />
<%= f.text_field :name ,:value => @users.name%><br />
<%= f.label :last_name %> <br />
<%= f.text_field :lname ,:value => @users.lname%><br />
<%= f.label :email %> <br />
<%= f.email_field :email ,:value => @users.email%><br />
<%= f.label :id %> <br />
<%= f.text_field :id ,:value => @users.id%><br />
<br />
<%= f.submit ({:confirm => "Are you sure?"}) %>
<% end %>
quand je clique soumettre je reçois l'erreur MongoId suivante
Mongoid::Errors::InvalidFind in UsersController#edit
problème: appel Document.find avec zéro est invalide.
Résumé: 0: Document.find s'attend à ce que les paramètres soient 1 ou plusieurs identifiants, et retournera un document unique si 1 identificateur est fourni, sinon un tableau de documents si plusieurs identifiants sont fournis.
Résolution: Cela est probablement dû au fait que les paramètres sont transmis directement à la recherche, et que le paramètre n'est pas présent ou que la clé à laquelle il est accédé est incorrecte. Je suis assez novice avec des rails et c'est mon premier coup avec mongoDB. Toute contribution aiderait, merci.
.. essayez d'utiliser <% = form_for @users do | f | %> – az7ar