2015-02-22 3 views
0

Я закончил this tutorial, в котором показано, как выполнять операции AJAX, которые обновили бы представление моей таблицы без обновления страницы.Таблица обновлена ​​через AJAX отсутствует строки

В моем приложении у меня есть ученики и уроки, связанные с прогрессиями.

У меня есть таблица, работающая со всеми методами CRUD для студентов и уроков, но у меня проблемы с успехами.

В основном у меня есть таблица, которая выглядит следующим образом:

http://i61.tinypic.com/10pplpx.png

с этим HTML:

<tbody class="progress-index"> 
    <tr> 
    <td>Student 1</td> 
     <td> 
      <div class="btn-group"> 
       <a class="btn btn-primary btn-progress progress-incomplete" data-remote="true" href="/progresses/29/edit">Started</a> 
       ... 
      </div> 
     </td> 
     <td> 
      <a class="btn btn-default btn-progress btn-progress-inactive" data-remote="true" href="/progresses/new?progress%5Blesson_id%5D=3&amp;progress%5Bstudent_id%5D=1">Start</a> 
     </td> 
    </tr> 
    <tr> 
    <td>Student 2</td> 
     <td> 
      <a class="btn btn-default btn-progress btn-progress-inactive" data-remote="true" href="/progresses/new?progress%5Blesson_id%5D=1&amp;progress%5Bstudent_id%5D=2">Start</a> 
     </td> 
     <td> 
      <div class="btn-group"> 
       <a class="btn btn-primary btn-progress progress-incomplete" data-remote="true" href="/progresses/30/edit">Started</a> 
       ... 
      </div> 
     </td> 
    </tr> 
</tbody> 

После нажатия на старт для пустого прогресса, я принят в форме создать его и ввести некоторые поля для этого прогресса (материал, который говорит, где студент находится на уроке), а затем я могу представить прогресс.

Проблема в том, что после того, как я ее отправлю, таблица выглядит действительно перепутанной, и в ней больше нет строк.

http://i57.tinypic.com/fohe92.png

с этим HTML:

<tbody class="progress-index"> 

    Student 1 

    <div class="btn-group"> 
     <a class="btn btn-primary btn-progress progress-incomplete" data-remote="true" href="/progresses/29/edit">Started</a> 
     ... 
    </div> 

    <div class="btn-group"> 
     <a class="btn btn-primary btn-progress progress-incomplete" data-remote="true" href="/progresses/31/edit">Started</a> 
     ... 
    </div> 

    Student 2 

    <a class="btn btn-default btn-progress btn-progress-inactive" data-remote="true" href="/progresses/new?progress%5Blesson_id%5D=1&amp;progress%5Bstudent_id%5D=2">Start</a> 

    <div class="btn-group"> 
     <a class="btn btn-primary btn-progress progress-incomplete" data-remote="true" href="/progresses/30/edit">Started</a> 
     ... 
    </div> 
</tbody> 

код, который делает таблицу:

прогрессирует/index.html.erb

... 
<div class="new-progress"></div> 

<table class="table table-bordered table-striped"> 
    <thead> 
    <tr> 
     <th>Student</th> 
     <% @lessons.each do |l| %> 
     <th><%= l.title %></th> 
     <% end %> 
    </tr> 
    </thead> 
    <tbody class="progress-index"> 
    <%= render "index" %> 
    </tbody> 
</table> 
... 

прогрессирует/_index .html.er б

... 
<% @students.each do |s| %> 
    <tr> 
    <td><%= s.name %></td> 
    <% @lessons.each do |l| %> 
     <td> 
      <% if !Progress.exists?(:student_id => s.id, :lesson_id => l.id) %> 
       ... 
      <% else %> 
       ... 
      <% end %> 
     </td> 
    <% end %> 

progresses_controller.rb

def index 
    @students = Student.all.sort_by &:name 
    @lessons = Lesson.all.sort_by &:difficulty 
end 

Консоль вывода после того, как я представить новый прогресс:

Started POST "/progresses" for ::1 at 2015-02-21 15:54:29 -0800 
Processing by ProgressesController#create as JS 
    Parameters: {"utf8"=>"✓", "progress"=>{"lesson_id"=>"3", "student_id"=>"1", "coached"=>"0", "completed"=>"0", "scratch_project_id"=>""}, "commit"=>"Create Progress"} 
    (0.1ms) begin transaction 
    Progress Exists (0.2ms) SELECT 1 AS one FROM "progresses" WHERE ("progresses"."lesson_id" = 3 AND "progresses"."student_id" = 1) LIMIT 1 
    SQL (0.5ms) INSERT INTO "progresses" ("completed", "coached", "scratch_project_id", "lesson_id", "student_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["completed", "f"], ["coached", "f"], ["scratch_project_id", ""], ["lesson_id", 3], ["student_id", 1], ["created_at", "2015-02-21 23:54:29.482937"], ["updated_at", "2015-02-21 23:54:29.482937"]] 
    (6.9ms) commit transaction 
    Student Load (0.2ms) SELECT "students".* FROM "students" 
    Lesson Load (0.2ms) SELECT "lessons".* FROM "lessons" 
    Progress Exists (0.2ms) SELECT 1 AS one FROM "progresses" WHERE "progresses"."student_id" = ? AND "progresses"."lesson_id" = ? LIMIT 1 [["student_id", 1], ["lesson_id", 1]] 
    Progress Load (0.1ms) SELECT "progresses".* FROM "progresses" WHERE "progresses"."student_id" = ? AND "progresses"."lesson_id" = ? LIMIT 1 [["student_id", 1], ["lesson_id", 1]] 
    Progress Exists (0.1ms) SELECT 1 AS one FROM "progresses" WHERE "progresses"."student_id" = ? AND "progresses"."lesson_id" = ? LIMIT 1 [["student_id", 1], ["lesson_id", 3]] 
    Progress Load (0.1ms) SELECT "progresses".* FROM "progresses" WHERE "progresses"."student_id" = ? AND "progresses"."lesson_id" = ? LIMIT 1 [["student_id", 1], ["lesson_id", 3]] 
    Progress Exists (0.1ms) SELECT 1 AS one FROM "progresses" WHERE "progresses"."student_id" = ? AND "progresses"."lesson_id" = ? LIMIT 1 [["student_id", 2], ["lesson_id", 1]] 
    Progress Load (0.1ms) SELECT "progresses".* FROM "progresses" WHERE "progresses"."student_id" = ? AND "progresses"."lesson_id" = ? LIMIT 1 [["student_id", 2], ["lesson_id", 1]] 
    Progress Exists (0.1ms) SELECT 1 AS one FROM "progresses" WHERE "progresses"."student_id" = ? AND "progresses"."lesson_id" = ? LIMIT 1 [["student_id", 2], ["lesson_id", 3]] 
    Progress Load (0.1ms) SELECT "progresses".* FROM "progresses" WHERE "progresses"."student_id" = ? AND "progresses"."lesson_id" = ? LIMIT 1 [["student_id", 2], ["lesson_id", 3]] 
    Rendered progresses/_index.html.erb (8.2ms) 
    Rendered progresses/_save.js.erb (16.9ms) 
    Rendered progresses/create.js.erb (23.6ms) 
Completed 200 OK in 50ms (Views: 31.7ms | ActiveRecord: 8.8ms) 

ответ

0

по электронной почте Ой. Проблема заключалась в том, что я написал некоторый CSS в верхней части моего _index.html.erb частичного внутри тега, и когда я переместил его до моего index.html.erb, все было исправлено.

Смежные вопросы