小编Mel*_*991的帖子

bodyParser已弃用快递4

我正在使用快递4.0,我知道身体解析器已被取出快递核心,我使用推荐的替代品,但我得到了

body-parser deprecated bodyParser: use individual json/urlencoded middlewares server.js:15:12 body-parser deprecated urlencoded: explicitly specify "extended: true" for extended parsing node_modules/body-parser/index.js:74:29

我在哪里可以找到这个假设的中间件?或者我不应该收到此错误?

var express     = require('express');
var server      = express();
var bodyParser  = require('body-parser');
var mongoose    = require('mongoose');
var passport    = require('./config/passport');
var routes      = require('./routes');

mongoose.connect('mongodb://localhost/myapp', function(err) {
    if(err) throw err;
});

server.set('view engine', 'jade');
server.set('views', __dirname + '/views');

server.use(bodyParser()); 
server.use(passport.initialize());

// Application Level Routes
routes(server, passport);

server.use(express.static(__dirname + '/public'));

server.listen(3000);
Run Code Online (Sandbox Code Playgroud)

middleware node.js express

372
推荐指数
8
解决办法
18万
查看次数

AWS快照与AMI之间的差异

所以我无法弄清楚什么,特别是这两者之间的区别.

据我了解,快照只是磁盘驱动器的备份,而AMI是整个系统的备份(或我应该说的实例),但整个系统技术上并不完全位于磁盘驱动器上?如果是这样,那么没有明显的区别,我错过了什么?

amazon-ec2 amazon-web-services

98
推荐指数
6
解决办法
6万
查看次数

在承诺解决之前,正在制定指令

我的指令只有在我的承诺得到解决后才能呈现其内容,我遇到了问题.我以为then()应该这样做但它似乎没有工作..

这是我的控制器:

// Generated by CoffeeScript 1.6.3
(function() {
  var sprangularControllers;

  sprangularControllers = angular.module('sprangularControllers', ['sprangularServices', 'ngRoute']);

  sprangularControllers.controller('productsController', [
    '$scope', '$route', '$routeParams', 'Product', 'Taxonomy', function($scope, $route, $routeParams, Product, Taxonomy) {
      Taxonomy.taxonomies_with_meta().$promise.then(function(response) {
        return $scope.taxonomies = response.taxonomies;
      });
      return Product.find($routeParams.id).$promise.then(function(response) {
        return $scope.currentProduct = response;
      });
    }
  ]);

}).call(this);
Run Code Online (Sandbox Code Playgroud)

我的指示:

// Generated by CoffeeScript 1.6.3
(function() {
  var sprangularDirectives;

  sprangularDirectives = angular.module('sprangularDirectives', []);

  sprangularDirectives.directive('productDirective', function() {
    return {
      scope: {
        product: '='
      },
      templateUrl: 'partials/product/_product.html',
      link: function(scope, el, attrs) { …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-directive

59
推荐指数
3
解决办法
4万
查看次数

在同一指令的link函数中使用指令控制器中的函数

也许我对指令控制器的工作方式有一个根本的误解,据我所知,它们被用作一种API,可以暴露给其他指令和控制器.我试图让控制器和链接功能在内部进行通信.

例如,我希望能够通过控制器功能设置变量,然后在链接功能中使用它:

var app = angular.module('test-app', []);

app.directive('coolDirective', function () {
    return {
        controller: function () {
            this.sayHi = function($scope, $element, $attrs) {
                $scope.myVar = "yo"
            }
        },
        link: function(scope, el, attrs) {
            console.log(scope.myVar);
        }   
    }
});
Run Code Online (Sandbox Code Playgroud)

如何在链接功能中访问myVar或sayHi?或者我完全错过了这一点?

angularjs angularjs-directive

36
推荐指数
1
解决办法
3万
查看次数

点击后触发骨干事件或按回车键

我是骨干的新手,我正在寻找一种方法,当我按下Enter并点击时,我的按钮被触发.目前showPrompt仅在单击时执行.什么是最干净的DRYest方式,它也可以在按下时执行Enter,最好只用于输入字段.

(function () {

  var Friend = Backbone.Model.extend({
    name: null
  });

  var Friends = Backbone.Collection.extend({
    initialize: function (models, options) {
      this.bind("add", options.view.addFriendLi);
    }
  });

  var AppView = Backbone.View.extend({
    el: $("body"),
    initialize: function() {
      this.friends = new Friends(null, {view: this});
    },
    events: {
      "click #add-friend":  "showPrompt",
    },
    showPrompt: function () {
      var friend_name = $("#friend-name").val()
      var friend_model = new Friend({ name:friend_name });
      this.friends.add( friend_model );
    },
    addFriendLi: function (model) {
      $("#friends-list").append("<li>" + model.get('name') + "</li>");
    }
  }); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events backbone.js

14
推荐指数
2
解决办法
1万
查看次数

如何更改强参数(更改为小写)

所以我熟悉轨道和轨道4.

所以这就是我控制器底部的内容

def post_params
  params.require(:post).permit(:title, :content, :category)
end
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但我想要做的是弄清楚如何在post_params方法中或者稍后在控制器中单独访问这些参数.

具体来说,我想在创建帖子时使用参数之前将:category值更改为小写(因此在表中所有类别都是小写的).

编辑:也许更好的措辞我的问题是,在允许参数之后,我怎样才能访问和操纵它们.我可以像往常一样使用params [:title]吗?

我试过了

params.require(:post).permit(:title, :content, :category)
params[:category].downcase
Run Code Online (Sandbox Code Playgroud)

params.require(:post).permit(:title, :content)
params.require(:post).permit(:category).downcase
Run Code Online (Sandbox Code Playgroud)

但我明白了 undefined method 'downcase'

ruby-on-rails ruby-on-rails-4

10
推荐指数
2
解决办法
7801
查看次数

查询类型(查询/突变)之后的字符串的重要性GraphQL

我想知道查询类型后面的字符串的重要性(在本例中为“ ProvisionQueues”),从字符串中删除它似乎没有任何影响-仅用于日志记录还是其他。元数据?

mutation ProvisionQueues {
 createQueue(name: "new-queue") {
    url
  }
}
Run Code Online (Sandbox Code Playgroud)

graphql graphql-js

7
推荐指数
1
解决办法
2240
查看次数

graphql只解析_id字段,其他字段为null

GraphQL将我的标题和内容属性解析为null,尽管数据肯定是从服务器检索的 - 控制台日志确认它.从graphql只返回_id属性,这是我从查询中得到的内容json { listings: [ { _id: '56e6c94f1cf94a7c0a4e22ba', title: null, content: null } ] }据我所知,一切都设置正确,我还尝试给标题和内容一个GraphQLIDType来排除它所输入的差异.

我有一个graphql查询:

query(`
  query findListings {
    listings(offset: 1) {
      _id,
      title,
      content
    }
  }
`).then((json) => {
  console.log('json', json.data)
})
Run Code Online (Sandbox Code Playgroud)

我的根查询类型:

const QueryType = new GraphQLObjectType({
  name: 'Query',
  fields: {
    listings: {
      name: 'listings',
      type: new GraphQLList(ListingType),
      args: {
        limit: {
          type: GraphQLInt
        },
        offset: {
          type: GraphQLInt
        }
      },
      resolve(source, args, info) {
        const { fieldASTs } = info
        const projection = …
Run Code Online (Sandbox Code Playgroud)

graphql graphql-js

7
推荐指数
1
解决办法
854
查看次数

错误:[$ compile:multidir]多个指令[form,form]要求'form'控制器:<form ng-form ="">

我在angularjs中构建的表单上收到此错误.

`错误:[$ compile:multidir]多个指令[form,form]要求'form'控制器:

<div data-ng-controller="shortlistController">
    <ul>
        <li data-ng-repeat="job in jobs">
            <div>{{ job.role }}</div><div>{{ job.salary }}</div><div>{{ job.company }}</div>
        </li>
    </ul>
</div>

<form ng-form>
    <input type="text" ng-model="newRole">
    <input type="text" ng-model="newSalary">
    <input type="text" ng-model="newCompany">
    <input type="text" ng-model="newUrl">
    <button>Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

最初我有data-ng-controller中的表单,我把它拿出来看看控制器是不是问题.

请问你是否认为我需要发布更多代码,我正在使用angulars本地路由系统

javascript angularjs

6
推荐指数
1
解决办法
7422
查看次数

AngularJS $资源响应作为ExpressJS中的字符数组返回

我有一个表达我的angularJS $资源对象的expressjs api.我已经发送了postman(一个用于测试REST apis的chrome工具)的帖子请求,响应中的原始数据是:"提交".

标题:

Connection ?keep-alive
Content-Length ?9
Content-Type ?text/html; charset=utf-8
Date ?Sun, 02 Feb 2014 12:02:20 GMT
X-Powered-By ?Express
Run Code Online (Sandbox Code Playgroud)

当我以角度注销我的回答时,我得到以下内容:

Resource
    0: "S"
    1: "u"
    2: "b"
    3: "m"
    4: "i"
    5: "t"
    6: "t"
    7: "e"
    8: "d"
    $promise: undefined
    $resolved: true
    __proto__: Resource
Run Code Online (Sandbox Code Playgroud)

我的快递代码:

exports.create = function(req, res) {
    new Product(req.body).save(function(err) {
        if (err) {
            res.send('There was an error: ' + err); 
        }
        else {
            res.send('Submitted')
        }
    });
};
Run Code Online (Sandbox Code Playgroud)

AngularJs工厂:

pantherServices.factory('Product', function($resource, Defaults) {
    var Product …
Run Code Online (Sandbox Code Playgroud)

javascript express angularjs

6
推荐指数
2
解决办法
2336
查看次数