0
votes

Ajax ne met pas à jour l'attribut dans la base de données

Ajax ne met pas à jour l'attribut visualisé après une leçon surveillé entièrement surveillé.

Application.js: p>

def change
  add_column :lessons, :viewed, :boolean
end


4 commentaires

Est-ce typo ou code réel / cours /: id / leçons /: id / visualisé ?


@ Зелёный le code réel


Donc, vous manquez des identifiants dans l'URL / cours /: id / leçons /: id / visualisé Vous devez passer des identifiants d'enregistrements réels dans la base de données, par exemple / Cours / 1 / Leçons / 2 / Visualisé , vous ne pouvez également pas avoir deux mêmes ancrages dans l'URL / Cours /: id / leçons /: id / visualisé . En savoir plus Guides.RubyonRails.org/Routing.html


C'est aussi faux cours /: id / leçons /: id / visualisé , deux paramètres ne peuvent pas avoir le même nom. Vous pouvez le changer à ceci: Cours /: Course_id / Leçons /: ID / Visualisé


3 Réponses :


0
votes

Convertir xxx

à xxx

et xxx

à xxx

et xxx

à xxx


0 commentaires

0
votes

Je ferais quelque chose comme ceci:

routtes.rb xxx

  • Utilisez des aides sur rails, il vous aidera à avoir une cohérence sur l'ordre des segments, les variables, Named_Routes, etc.

    show.html xxx

    • Je passe l'URL en tant qu'attribut de données de l'élément #video , donc je n'ai pas à vous gâcher avec des URL avec JavaScript, laissez les rails gérer ces choses, c'est vraiment bon à celui-ci < / li>

      js xxx

      • Obtenez l'URL à partir de l'attribut de données de l'élément

0 commentaires

0
votes

Tout d'abord, corrigeons la route:

$('#video').onended(function() {
  $.ajax({
    url: $('#video').data("lesson-viewed-url"),
    type: 'patch' // Can move the HTTP verb to data attribute as well, leaving this upto the implementor for now
 });
});


0 commentaires