我有两个很多很多的模型.他们在我的应用程序的第一页上使用,我在加载它们时遇到问题.
两个型号只有少量项目(<200),我想在每个findAll
请求中完全加载两个模型.但是当第一个模型被加载时,Ember开始逐项获取第二个模型的缺失数据.如果我尝试单独加载模型,我会收到错误并且必须设置{async:true}
为hasMany
attr.出于某种原因,Ember没有认识到第二个模型的请求的json.
无论如何都要获取两个模型并等到两个负载再继续之前?
谢谢.
我最近将我的WAMP安装从PHP 5.5更新到5.6,并开始遇到phpMyAdmin的问题.假设它只是我过时的phpMyAdmin版本,我将其更新到4.7.4版本,但问题仍然存在.
问题是,当我在phpMyAdmin(而不是在我的浏览器中)的工具栏中单击刷新时,它会导致phpMyAdmin完全冻结.当我使用大多数工具栏按钮或控制台时会发生这种情况.检查调试器后,看起来没有从服务器发送任何响应.我可以点击列标题来正常订购页面,我可以内联编辑.
这不会影响我的localhost上运行的任何其他应用程序.我能够正常访问它们并使用它们,但在重新启动WAMP之前我无法使用phpMyAdmin做任何事情.
我没有在php_error.log
任何其他日志中收到任何错误.任何想法都可能导致这种情况?
这基本上是我mysql.log
一遍又一遍的:
2017-08-28 04:05:52 11128 [Note] Plugin 'FEDERATED' is disabled.
2017-08-28 04:05:52 11128 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-08-28 04:05:52 11128 [Note] InnoDB: The InnoDB memory heap is disabled
2017-08-28 04:05:52 11128 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2017-08-28 04:05:52 11128 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-08-28 04:05:52 11128 [Note] InnoDB: Not using CPU crc32 instructions
2017-08-28 04:05:52 11128 [Note] InnoDB: Initializing …
Run Code Online (Sandbox Code Playgroud) 我使用NetBeans作为Ember.js项目的IDE.当我在我的应用程序中创建把手模板时,如下所示,代码突出显示无法正常工作.
<script type="text/x-handlebars">
<div>
</div>
</script>
Run Code Online (Sandbox Code Playgroud)
通常,当我选择第一个div时,它及其匹配的结束标记会突出显示黄色,但这不起作用.由于其内部的把手脚本标签都被红色突出显示为错误并且不匹配在一起.这使得编写复杂模板有点令人讨厌,因为很难确定语法错误.
反正有没有让NetBeans在把手标签内突出显示它的常规html?
我正在尝试使用PHP REST框架构建一个Ember应用程序作为我的api本地.Ember应用程序正在服务,http://localhost:4200
api正在服务http://localhost
.这导致了CORS问题.我已经尝试了我能想到的所有内容,但我一直收到错误,说请求被阻止,预检频道没有成功.它在Firefox或Chrome中无法成功.
我已将以下内容添加到.htaccess
我的api文件中:
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
Header set Access-Control-Allow-Origin "http://localhost:4200"
Header set Access-Control-Allow-Credentials true
Header set Access-Control-Allow-Headers "accept, content-type"
Run Code Online (Sandbox Code Playgroud)
这是我的请求标题:
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Origin: http://localhost:4200
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Run Code Online (Sandbox Code Playgroud)
响应头:
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: accept, content-type
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Origin: http://localhost:4200
Connection: close
Content-Type: text/html; charset=utf-8
Date: Fri, 24 Jul …
Run Code Online (Sandbox Code Playgroud) 我正在使用一个平台来创建一个configuration.php文件,作为灌输过程的一部分.现在,安装过程作为服务器上的构建挂钩的一部分运行.问题在于,因为它是在服务器上创建的,所以每次推送后都必须重新运行灌注过程.这会覆盖很多变化.
有没有一种方式来运行git add
,并git commit
在服务器上?如果我可以将configuration.php文件添加到repo并将git pull
其关闭,那么灌注过程将不会继续运行.如果是这样,我应该在哪个目录中运行命令?
我尝试SSH服务器并运行git命令,但fatal: Not a git repository (or any parent up to mount point /var/lib/openshift)
无论我尝试什么目录,都只收到错误.
我有一台服务器,我有一些git repos和一个令人满意的存储库设置.我想设置满意的存储库来列出本地存储库.
// satis.json
{
"name": "NJ16 Repositories",
"homepage": "http://packages.example.com",
"repositories": [
{
"type": "vcs",
"url": "https://bitbucket.org/nicholasjohn16/example.git"
},
{
"type": "vcs",
"url": "git@example.com:/var/repo/test-repo.git"
}
],
"require-all": true,
"output-dir": "web/"
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,bitbucket git repo被成功访问和更新,但是当满意地构建本地git repo时,它挂起在以下行并且不会继续.
Executing command (/root/.cache/composer/vcs/git-example.com--repo-test-repo.git): git rev-parse --git-dir
Executing command (/root/.cache/composer/vcs/git-example.com--repo-test-repo.git): git remote -v
Executing command (/root/.cache/composer/vcs/git-example.com--repo-test-repo.git): git remote set-url origin 'git@example.com:/repo/test-repo.git' && git remote update --prune origin
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用../../repo/test-repo.git
,并/var/repo/test-repo.git
用于回购网址.当我这样做时,构建成功完成,但当我尝试使用composer需要它时,我收到以下错误.
[RuntimeException]
Failed to execute git clone --no-checkout "C:\wamp\www\nj16\nicholasjohn16\vendor\NicholasJohn16\test-repo" && cd /D "C:\wamp\www\nj16\nicholasjohn16\vendor\NicholasJohn16\test-repo" && git remote …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用最近添加的新命名的子状态选项为Application路由创建一个加载子状态,但由于某种原因,我无法使其工作.最初,我刚刚创建了一个简单的模板,loading.hbs
并且它自动运行,但由于应用程序路径上的子状态问题,我的一些UI仍然可见.我现在想纠正这个问题.
我已经尝试重命名并将模板移动到以下位置:
/templates/application_loading.hbs
/templates/application-loading.hbs
/templates/application/loading.hbs
Run Code Online (Sandbox Code Playgroud)
似乎没有工作.我不需要任何自定义路由行为,因此默认生成的路由应该为我做,除非它要求这个工作.有关此功能的文档似乎很少.我找到了这个功能的jsbin,我应该按照它正确地做,除非ember-cli有一些问题.
谢谢你的帮助.
DEBUG: -------------------------------
DEBUG: Ember : 1.11.1
DEBUG: Ember Data : 1.0.0-beta.16.1
DEBUG: jQuery : 1.11.2
DEBUG: -------------------------------
Run Code Online (Sandbox Code Playgroud) 是否有快速停止或重新启动服务器的方法ember-cli
?特别是,当您遇到错误并需要重新启动它时.目前,我只是关闭窗口并重新打开它,但是当我对我Brocfile.js
这样做进行大量更改时,这会变得乏味.谢谢.
我有两个这样的模型:
App.Build = DS.Model.extend({
allegiance: DS.attr('string'),
profession: DS.attr('string'),
skills: DS.hasMany('skill')
});
App.Skill = DS.Model.extend({
name:DS.attr('string'),
value:DS.attr('number')
});
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我有控制来设置每项技能的忠诚度,职业和价值(最多55个).
然后在我的应用程序控制器的动作哈希中,我有一个动作将构建模型保存到服务器.
save:function(){
var store = this.get('store');
var skills = this.get('controllers.skills').get('model');
console.log(skills);
var build = store.createRecord('build',{
profession:1,
allegiance:1,
skills:skills
});
build.set('skills',skills);
build.save();
console.log('Saved!');
}
Run Code Online (Sandbox Code Playgroud)
但是当构建模型发送到服务器时,技能属性是一个空数组:
{"build":{"allegiance":"1","profession":"1","skills":[]}}
Run Code Online (Sandbox Code Playgroud)
我确定我做错了什么,但我无法弄清楚什么,也找不到任何关于它的好文档.另外一点,我关心提交的是技能ID和价值.
任何帮助将不胜感激!
更新:
按照Daniel的建议,我编辑了save函数,使用pushObjects将技能放入Build模型,然后保存.它现在工作得更好.生成的帖子数据现在是这样的:
{"build":{
"allegiance":1,
"profession":1,
"skills":["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55"]}}
Run Code Online (Sandbox Code Playgroud)
这是技能ID的列表.在帖子中没有提交任何其他属性.我已经尝试迭代技能,创建一个新对象,只是推入id和值,这是我需要的唯一部分,但这给了我一个错误.有点像,不能使用undefined,必须是类型技能.
这似乎是Ember数据应该本地处理的东西.是否有一些我缺少的东西让它在请求中发送其他技能属性?
谢谢!!
我有一个项目列表,我正在从FIXTURES数据存储加载:
App.ItemsController = Ember.ArrayController.extend({
content: function() {
return App.Item.find();
}.property('content')
});
App.Item = DS.Model.extend({
name: DS.attr('string')
});
App.Item.FIXTURES = [
{id: 1, name: 'Item 1'},
{id: 2, name: 'Item 2'},
{id: 3, name: 'Item 3'},
{id: 4, name: 'Item 4'},
{id: 5, name: 'Item 5'},
{id: 6, name: 'Item 6'},
{id: 7, name: 'Item 7'},
{id: 8, name: 'Item 8'},
{id: 9, name: 'Item 9'},
{id: 10, name: 'Item 10'}
];
Run Code Online (Sandbox Code Playgroud)
我有一个简单的模板
<script type="text/x-handlebars" data-template-name="items">
<ul>
{{#each item in content}} …
Run Code Online (Sandbox Code Playgroud) 我创建了一个组件,它生成一个下拉列表,用于根据传入的类型从可能的项目列表中选择项目:
{{item-selector type="type1"}}
Run Code Online (Sandbox Code Playgroud)
我不想在页面加载时加载项目,因为它们可能有很多,很多时候它们不需要加载.我更愿意在用户与组件的交互中加载它们.那个nixes在路线中加载它们.
由于组件无法访问商店,我一直在尝试传入项目的控制器:
{{item-selector type="type1" widget=controllers.type1}}
Run Code Online (Sandbox Code Playgroud)
我正在使用widget
因为我无法想到更好的属性名称和控制器已经采取.建议欢迎.
但现在我不确定如何在控制器中加载模型.我应该这样做init
吗?或者也许是计算属性?我不确定.
关于如何解决这个问题的建议将不胜感激.
ember.js ×8
ember-data ×4
git ×2
apache ×1
composer-php ×1
cors ×1
cross-domain ×1
ember-cli ×1
mysql ×1
netbeans ×1
openshift ×1
php ×1
phpmyadmin ×1
satis ×1
wamp ×1