我想利用Ember本地存储适配器(LSAdapter)和Ember REST适配器(RESTAdapter),以便为所有用户提供集中式数据库,同时避免为每个用户操作发送Ajax请求.
具体来说,我想:
我的后端服务器不是Rails,所以请将答案设为通用.
是否可以在Ember应用程序中使用BOTH LSAdapter和RESTAdapter?如果是,请提供如何设置的代码示例.
如果您提供步骤1和3的代码示例,我将非常感激,基本上,数据库如何与本地存储通信,反之亦然.
如果不可能同时拥有LSADapter和RESTAdapter,我该怎么做才能完成第1步和第3步?
我能想到的唯一好处是将Ember应用商店设置为RESTAdapter,然后直接在我的应用中调用Web Storage localstorage,而不是直接从LSAdapter调用它.如果有更简单或内置的方式,请告诉我.
我应该如何替换Javascript键中的键字符串:值哈希映射(作为对象)?
这是我到目前为止:
var hashmap = {"aaa":"foo", "bbb":"bar"};
console.log("before:");
console.log(hashmap);
Object.keys(hashmap).forEach(function(key){
key = key + "xxx";
console.log("changing:");
console.log(key);
});
console.log("after:");
console.log(hashmap);
Run Code Online (Sandbox Code Playgroud)
看到它在这个jsbin中运行.
"之前"和"之后"的哈希映射是相同的,因此forEach似乎在不同的范围内.我该如何解决?也许有更好的方法来做到这一点?
什么相当于
App.Person.filter(function(e){return e.get('age') == 30})
Run Code Online (Sandbox Code Playgroud)
在旧的Ember数据中,App.Model.filter产生了一种不同类型的对象App.Model.find(参见这个问题).我发现了类型差异,因为如果我想要记录本身并进行更改,我必须使用filter.所以find有点像只读.(如我错了请纠正我.)
在新的Ember数据中是这样的吗?
我想将以下内容~/.ssh/config从工作的Mac设置复制到Windows PuTTY上.
Host server01
HostName 11.22.333.444
Port 55555
DynamicForward 1080
User username
RemoteForward 52698 localhost:52698
Host server02
HostName work-machine-name
ProxyCommand ssh -q server01 nc work-machine-name 22
User username
RemoteForward 52698 localhost:52698
Run Code Online (Sandbox Code Playgroud)
这是我在PuTTY上感觉不正确的当前代理命令:
plink -ssh 11.22.333.444 -P 55555 -l username -D 1080 -R 52698:127.0.0.1:52698 -nc %host:%port
细节:
我正在尝试使用SSH代理在PuTTY上设置一个多跳,以便我可以使用Windows计算机上的远程Atom文本编辑器在远程计算机上工作.多跳意味着首先我必须SSH到中间机器然后登录到最终机器.
在Mac上我只是在Atom远程包上启动服务器,在终端运行时ssh server02,输入两个登录密码以进入远程机器,并运行rmate filename以使远程文件自动显示在Mac Atom编辑器上与此rmate.
目前我正在尝试复制Windows PuTTY上的所有内容.我在SSH教程上关注了这个多跳,并参考了plink手册.
首先,我将"C:\ Program Files(x86)\ PuTTY"永久添加到PATH.然后我对PuTTY进行了以下设置,尝试完全复制〜/ .ssh/config:
work-machine-name,端口: …我与Ember.js工作,不知道是否有在车把上的内置功能,可以让我打印到像控制台{{ log "my message" }}类似于我们目前可以与像记录对象做:{{ log this }}?
或者我每次都要定义辅助功能?
但这甚至对我不起作用(点击查看jsbin):
我在HTML Handlebars中:
{{ debug "this is my string" }}
Run Code Online (Sandbox Code Playgroud)
然后在app.js我有:
Ember.Handlebars.helper('debug', function(the_string){
console.log(the_string);
});
Run Code Online (Sandbox Code Playgroud)
但app.js没有收到the_string,所以the_string在那里未定义,发生了什么?
在我的 ember 应用程序中调用localStorage.clear()or deleteRecord()(jsbin 示例)之后,我观察到数据复活。
请按照以下步骤复制问题:
问题:
location.reload?稍后编辑以包含deleteRecord()
通过这篇文章,我了解到我可以find在控制台中使用.但是我在使用它来查找我的litte jsbin Ember.js中的数据时遇到了一些问题,这里有Ember Data和LSAdapter App.
App.container.lookup('store:main').find('org').toArray() 非常感谢您的帮助
ember.js ×8
ember-data ×3
javascript ×1
linux ×1
open-source ×1
project ×1
putty ×1
ssh ×1
windows ×1