小编jdc*_*ens的帖子

heroku运行控制台返回'错误连接到进程'

我已经将一个rails 3.1应用程序部署到了Heroku Cedar堆栈,我正在尝试执行:

heroku run rake db:migrate
Run Code Online (Sandbox Code Playgroud)

它返回:

Running console attached to terminal... 
Error connecting to process
Run Code Online (Sandbox Code Playgroud)

我也尝试简单地启动控制台:

heroku run console
Run Code Online (Sandbox Code Playgroud)

任何运行命令都会返回相同的错误.

Running console attached to terminal... 
Error connecting to process
Run Code Online (Sandbox Code Playgroud)

查看日志我得到错误代码:

2011-09-25T16:04:52+00:00 app[run.2]: Error R13 (Attach error) -> Failed to attach to process
Run Code Online (Sandbox Code Playgroud)

当我heroku ps看到当前进程时,我可以看到我的尝试正在运行:

Process       State               Command
------------  ------------------  ------------------------------
run.2         complete for 26m    bundle exec rails console
run.3         up for 27s          bundle exec rails console
run.4         up for 3s           bundle exec rake db:create
web.1         up …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku ruby-on-rails-3.1 rails-3.1 cedar

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

Ember App Kit和测试模型钩子

在Ember App Kit中,有许多测试示例随初始回购一起提供.其中之一是基本的路线单元测试.如果数据在模型钩子中是硬编码的,那么这个测试是微不足道的,如下所示:

test("#model", function(){
  deepEqual(route.model(), ['red', 'yellow', 'blue']);
});
Run Code Online (Sandbox Code Playgroud)

如果它从ember-data返回一个promise,你如何使用隔离容器来测试模型钩子?

这是测试:

import Activities from 'appkit/routes/activities';

var route;
module("Unit - ActivitiesRoute", {
  setup: function(){
    var container = isolatedContainer([
      'route:activities'
    ]);

    route = container.lookup('route:activities');
  }
});

test("#model", function(){
  deepEqual(route.model(), ['activity', 'activity2', 'activity3']);
});
Run Code Online (Sandbox Code Playgroud)

而实际的Route的模型钩子:

export default Ember.Route.extend({
  model: function() {
    return this.get('store').find('activity');
  }
});
Run Code Online (Sandbox Code Playgroud)

更新:

从kingpin2k实施以下不同方法后.以下是结果摘要.

第一种方法:效果很好......但没有承诺.

第二种方法:返回promise对象(似乎已解析),但数组和正确的值被赋给_detail属性.

test("#model", function(){
  deepEqual(route.model()['_detail'], ['activity', 'activity2', 'activity3']); //passes
});
Run Code Online (Sandbox Code Playgroud)

我想在模块设置()中处理商店创建.

...
module("Unit - ActivitiesRoute", {
  setup: function(){
    var container = isolatedContainer([
      'route:activities' …
Run Code Online (Sandbox Code Playgroud)

ember.js ember-data ember-app-kit

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