小编dan*_*ker的帖子

fakeAsync 函数中的 tick() 不等待承诺解决

考虑这个服务函数,它检索单个任务并将结果包装在一个承诺中。

get(id: string): Promise<Task> {
    return new Promise((resolve, reject) => {
      this.tasks.findOne({_id: id}).exec(function (err, doc) {
        console.log("Getting task: ", doc);
        if (err)
          reject(err);
        else
          resolve(<Task>doc);
        });
    });
}
Run Code Online (Sandbox Code Playgroud)

我为 get 函数编写了这个单元测试:

beforeEach(() => {
    const injector = TestBed.configureTestingModule({
        providers: [TaskService, Logger]
    });
    subject = injector.get(TaskService);
    var Datastore = require('nedb');
    db = new Datastore({filename: 'test'});

     subject.setDBConnection(db);
    task = new Task();
    task.title = 'Test Task';
    task._id = "TEST";

    db.loadDatabase();

    db.insert(task);

});


it('returns existing record', fakeAsync(() => {
  let r = null;

  subject.get('TEST').then((doc) …
Run Code Online (Sandbox Code Playgroud)

karma-jasmine angular

10
推荐指数
1
解决办法
640
查看次数

您的包被锁定为 rake (12.0.0),但是在您的 Gemfile 中列出的任何源中都找不到该版本。

启动 rails 服务器时收到以下错误消息:

您的包被锁定为 rake (12.0.0),但是在您的 Gemfile 中列出的任何源中都找不到该版本。如果您没有更改源代码,则意味着 rake (12.0.0) 的作者已将其删除。您需要将您的捆绑包更新到尚未删除的其他版本的 rake (12.0.0) 才能安装。

gem 'rake', '12.0.0'在 gemfile 中指定,但这并没有解决它。我试过bundle update rake,删除Gemfile.lock并用bundle exec bundle install. 我还在我的命令前加上了 `bundle exec1,它什么都不做。

我的 Gemfile.lock 已经指定了 rake 版本 12.0.0,没有安装其他版本。

查看我的 gemfile:http ://pastebin.com/L4tVFWz9

和 rakefile:http ://pastebin.com/K7p2ajsE

我尝试了已经激活的 rake 版本中建议的解决方案,与 Gemfile 需要的不同,以防止 rake 命令

ruby ruby-on-rails gemfile gemfile.lock

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

Rails 中同一个模型的多个关联

比方说,我有一个模型,狗和狗的每一个正好有2猫“敌人”,enemy1而且enemy2,我怎么写迁移文件,这样我可以调用dog.enemy1来检索第一个敌人并dog.enemy2检索第二个敌人?我试过这个:

create_table :dog do |t|
    t.string :name
    t.timestamps null: false
    end
    add_index :dog, :name

    add_foreign_key :dogs, :cats, column: :enemy1_id
    add_foreign_key :dogs, :cats, column: :enemy2_id
end
Run Code Online (Sandbox Code Playgroud)

我也用该t.references方法尝试过,但无法让它工作。一直在研究这个问题几个小时。它在开发中运行良好,但不适用于 Heroku Postgres。我得到的错误是

ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR:column     "enemy1_id" referenced in foreign key constraint does not exist.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

postgresql activerecord ruby-on-rails heroku ruby-on-rails-4

-1
推荐指数
1
解决办法
1746
查看次数