我正在使用快递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) 所以我无法弄清楚什么,特别是这两者之间的区别.
据我了解,快照只是磁盘驱动器的备份,而AMI是整个系统的备份(或我应该说的实例),但整个系统技术上并不完全位于磁盘驱动器上?如果是这样,那么没有明显的区别,我错过了什么?
我的指令只有在我的承诺得到解决后才能呈现其内容,我遇到了问题.我以为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) 也许我对指令控制器的工作方式有一个根本的误解,据我所知,它们被用作一种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?或者我完全错过了这一点?
我是骨干的新手,我正在寻找一种方法,当我按下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) 所以我熟悉轨道和轨道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'
我想知道查询类型后面的字符串的重要性(在本例中为“ ProvisionQueues”),从字符串中删除它似乎没有任何影响-仅用于日志记录还是其他。元数据?
mutation ProvisionQueues {
createQueue(name: "new-queue") {
url
}
}
Run Code Online (Sandbox Code Playgroud) 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) 我在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本地路由系统
我有一个表达我的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) angularjs ×4
javascript ×4
express ×2
graphql ×2
graphql-js ×2
amazon-ec2 ×1
backbone.js ×1
jquery ×1
middleware ×1
node.js ×1