IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby Discussion :

.update error sur method put


Sujet :

Ruby

  1. #1
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2014
    Messages : 153
    Points : 316
    Points
    316
    Par défaut .update error sur method put
    Bonjour,

    Je suis sur une erreur dans mon code depuis ce matin sur des mises à jour de données dans ma BD

    J'ai un formulaire de modification comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <%= form_tag "/books/#{@book.id}", method: "put" do %>
      <input type="text" name="title" value="<%= @book.title %>" />
      <input type="submit" value="Modifier le livre" />
    <% end %>
    Ceci m'affiche bien le livre que je veux sur localhost:3000/books/1

    J'ai la route suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    put 'books/:id' => 'books#update'
    Et le controller Boo suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # app/controllers/books_controller.rb
    class BooksController < ApplicationController
     
     def update
        Book.find(params[:id]).update title: params[:title]
        redirect_to "/books/#{params[:id]}"
      end
    end
    J'ai (dans le navigateur) l'erreur noMethodError update. Trace m'indique la ligne 5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Book.find(params[:id]).update title: params[:title]
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Book.find(params[:id]).update(title: params[:title])
    comme donné dans la doc officiele mais rien n'y fait. Rails ne reconnait pas .update

    Merci d'avance
    Ma plateforme de formations digitales (développement Web, cybersécurité, SEO, Marketing digital)

    https://monformateurindependant.com

  2. #2
    Membre actif
    Profil pro
    Problem Solver
    Inscrit en
    Juin 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Problem Solver

    Informations forums :
    Inscription : Juin 2013
    Messages : 138
    Points : 231
    Points
    231
    Par défaut
    Salut,
    cette méthode update semble dépréciée depuis bien longtemps.
    Tu veux sûrement utiliser un code plus "classique"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @book = Book.where(id: params[:id]).first
    # code à faire ; que se passe-t-il si on n'a pas trouvé "book" ?
    @book.title = params[:title]
    # code à faire ; que faire si on n'a pas envoyé de titre ?
    @book.save
    # code à faire ; si tu as une validation qui a raté, que faire ?
    # code à faire ; donner un peu d'information au client, que le livre ait été bien modifié ou que la modification ait échoué
    Il y a des méthodes qui ont remplacé update, mais je ne les recommande pas : ça ne te rendrait pas service de tout passer en force

  3. #3
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2014
    Messages : 153
    Points : 316
    Points
    316
    Par défaut
    Bonjour,

    J'ai utilisé un tuto ancien...
    Merci du coup de main
    Ma plateforme de formations digitales (développement Web, cybersécurité, SEO, Marketing digital)

    https://monformateurindependant.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parse error sur update
    Par snaxisnake dans le forum Langage
    Réponses: 2
    Dernier message: 06/04/2008, 20h01
  2. [Access] Ne pas montrer #Error sur un rapport Access
    Par nico33307 dans le forum Access
    Réponses: 3
    Dernier message: 22/09/2005, 23h19
  3. [eclipse] HashMap et methode put
    Par topaze dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/01/2005, 16h37
  4. Réponses: 2
    Dernier message: 29/09/2004, 09h07
  5. UPDATE error
    Par $grm$ dans le forum PostgreSQL
    Réponses: 48
    Dernier message: 21/04/2004, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo