投票系统在部署到heroku时无法正常工作

时间:2015-11-22 23:28:04

标签: javascript ruby-on-rails heroku voting-system

我有一份'目的地'列表。每个目的地旁边都有一个LIKE按钮以及类似的计数。我能够让这个“喜欢的系统”在本地工作。但是,一旦部署到heroku,'like count'显示为'undefined',然后每当你点击like按钮时,类似的计数变为'NaN'。如何让喜欢的系统在我的heroku app上运行?

在我的javscript控制台中,我注意到没有像应该存在的like_count列。但我的迁移和模式文件说不然......

Schmea.rb文件:

create_table "destinations", force: :cascade do |t|
t.string   "name"
t.string   "address"
t.time     "start_time"
t.date     "date"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer  "trip_id"
t.integer  "day_id"
t.integer  "like_count"
t.integer  "duration"
t.time     "end_time"

我在javscript文件中实现了喜欢系统:

var like_cell = row.insertCell(2);
like_cell.innerHTML = '<input type="button" id="like-btn" type="button" value = "Like"</input>';
var like_count_cell = row.insertCell(3);
like_count_cell.innerHTML = dest.like_count; 

$('#like-btn').click(function() {
    dest.like_count += 1;
    like_count_cell.innerHTML=dest.like_count;
    console.log('hi');
    console.log(dest.like_count);
    console.log(dest);
    sortTable();
  });

  function sortTable(){
    var tbl = document.getElementById("destTable").tBodies[0];
    var store = [];
    for(var i=1, len=tbl.rows.length; i<len; i++){
      var row = tbl.rows[i];
      store.push([table.rows[i].cells[3].innerHTML, row]);
    }
      store.sort(function(x,y){
      return y[0] - x[0];
    });
    for(var j=0, len=store.length; i<len; i++){
      tbl.appendChild(store[j][1]);
    }
    table = tbl;
    store = null;
    }

1 个答案:

答案 0 :(得分:0)

有可能掉下这样的东西 1. JS文件是否加载且没有错误? 2. ajax是否正在调用url。 (很有可能它正在调用localhost,因为你说它正在本地工作) 3. ajax请求需要很长时间吗? (heroku超时30秒) 4.有任何跨浏览器问题吗?这就像尝试从其他站点和非安全位置加载内容(如https站点从http服务询问内容)

使用chrome / firefox中的js控制台进行调试