更新模型

时间:2015-06-18 17:23:09

标签: javascript node.js model

我正在尝试实现一个功能,我可以按下按钮删除我的模型的某些属性。

我的模特是:

请求:    状态    购物者

我使用的是基于事件的结构:

这是前端

 a.requests-deny(href='#', data-id=request.id) Deny request

这是我的后端

var Request = require('../../models/Request');
var ShopperRequests = Backbone.View.extend({
  el: '.shoppers-requests',

  events: {
    'click .requests-deny'  : 'requestDeny'
  },

  requestDeny: function(e){
    e.preventDefault();
    var target = $(e.currentTarget);
    var requestId = target.data('id');

    console.log(requestId);

    Request.findById(requestId, function(err, request) {
      console.log(request);
      if (err) {
          return console.log('oh no! error', err);
      } else {
          request.status = 'pending';
          request.shopper = '';
          request.save(function(err) { // <-- save it back to the database
            if (err) {
              console.log('oh no! could not be saved in db', err);
            } else {
              console.log(request);
            }
          });
        }
    }); 
  },

在浏览器中查看控制台,我发现首先我无法使用&#34;要求&#34;因为&#34;它没有定义&#34;

Uncaught ReferenceError: require is not defined(anonymous function) @ shopper-f28ac0daf1d6a206b3172e4b9c670dd4.js:1

我正在考虑接受requestId并只更新数据库中的值,但显然这不起作用。 不知道这是否可行或我可以如何实现它?

1 个答案:

答案 0 :(得分:0)

您没有在后端加载RequireJs库。这就是为什么你得到require is not defined

如果您使用的是Node,请按以下方式添加:

npm install requirejs

或者,从here下载,然后使用脚本标记将其添加到项目中。