如何在客户端

时间:2016-01-19 19:22:23

标签: javascript arrays node.js mean-stack

我正在尝试将一组任务添加到MEAN.js上的项目模块中,我正在使用此问题来跟进如何将其添加到服务器端(How to add an array to a javascript server side model in MEAN.JS,如何添加数组到MEAN.JS中的javascript服务器端模型)给我的答案只会让我在从edit-project.client.view.html上的表单输入数据时插入一个空数组。所以,我会把代码放在这里检查我的客户端工作,完成这两个问题并开发我的个人资料。如果需要任何其他信息,除了我要添加的代码之外,请留下建议进行编辑。

编辑project.client.view.html

<section ng-controller="ProjectsController" ng-init="findOne()">
  <div class="page-header">
    <h1>Edit Project</h1>
  </div>
  <div class="col-md-12">
    <form name="projectForm" class="form-horizontal" ng-submit="update(projectForm.$valid)" novalidate>
      <fieldset>
        <div class="form-group" show-errors>
          <label for="title">Title</label>
          <input name="title" type="text" ng-model="project.title" id="title" class="form-control" placeholder="Title" required>
          <div ng-messages="projectForm.title.$error" role="alert">
            <p class="help-block error-text" ng-message="required">Project title is required.</p>
          </div>
        </div>

        <div class="form-group">
          <label for="description">Description</label>
          <textarea name="description" ng-model="project.description" id="description" class="form-control" cols="30" rows="4" placeholder="Description"></textarea>
        </div>

        <div class="form-group">
          Task Description
          <textarea name="description" ng.model="project.task.description" class="form-control" cols="30" rows="3" placeholder="Description"></textarea>
          <div>
            Task Status
            <input name="status" ng.model="project.task.status" class="form-control" placeholder="Status">  
          </div>  
        </div>

        <div class="form-group">
          <input type="submit" value="Update" class="btn btn-default">
        </div>
        
        <div ng-show="error" class="text-danger">
          <strong ng-bind="error"></strong>
        </div>
      </fieldset>
    </form>
  </div>
</section>
project.server.model.js

'use strict';

/**
 * Module dependencies.
 */
var mongoose = require('mongoose'),
  Schema = mongoose.Schema;

/**
 * Project Schema
 */
var ProjectSchema = new Schema({
  created: {
    type: Date,
    default: Date.now
  },
  title: {
    type: String,
    default: '',
    trim: true,
    required: 'Title cannot be blank'
  },
  description: {
    type: String,
    default: '',
    trim: true
  },
  /* MODEL for TASK ARRAY*/
  tasks: [{ 
    type: mongoose.Schema.Types.ObjectId, 
    ref: 'Task' 
  }],
  
  user: {
    type: Schema.ObjectId,
    ref: 'User'
  }
});

mongoose.model('Project', ProjectSchema);
projects.server.controller.js(部分 - 服务器端似乎不完整)

'use strict';

/**
 * Module dependencies.
 */
var path = require('path'),
  mongoose = require('mongoose'),
  Project = mongoose.model('Project'),
  errorHandler = require(path.resolve('./modules/core/server/controllers/errors.server.controller'));

/**
 * Create a project
 */
exports.create = function (req, res) {
  var project = new Project(req.body);
  project.user = req.user;

  project.save(function (err) {
    if (err) {
      return res.status(400).send({
        message: errorHandler.getErrorMessage(err)
      });
    } else {
      res.json(project);
    }
  });
};

/**
 * Show the current project
 */
exports.read = function (req, res) {
  res.json(req.project);
};

/**
 * Update a project
 */
exports.update = function (req, res) {
  var project = req.project;

  project.title = req.body.title;
  project.description = req.body.description;

  project.save(function (err) {
    if (err) {
      return res.status(400).send({
        message: errorHandler.getErrorMessage(err)
      });
    } else {
      res.json(project);
    }
  });
};
...

0 个答案:

没有答案