小编jez*_*nag的帖子

Google Places AutocompleteService按国家/地区进行过滤

我正在设置一个自定义自动填充字段,我在其中显示Google地方信息中的位置以及数据库中与搜索查询匹配的事件.出于这个原因,我正在使用Google地方信息自动填充服务来获取查询预测,而不是将地方自动填充功能直接插入到我的文本字段中.

问题是我无法弄清楚如何使用自动完成服务按国家/地区过滤地方自动填充建议.

我试过了:

var service = new google.maps.places.AutocompleteService(null, {
        types: ['cities'],
        componentRestrictions: {country: "au"}
    });
Run Code Online (Sandbox Code Playgroud)

但它仍然显示德国和法国的自动完成选项:(

有什么建议?

google-places-api

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

RuntimeError:在rails 5.1中运行rspec时无法修改冻结的数组

我最近从v4.3升级到Rails 5.1,现在运行测试时出现此错误:

An error occurred while loading 

./spec/controllers/admin/capacity_charges_controller_spec.rb.
Failure/Error: require File.expand_path('../../config/environment', __FILE__)

RuntimeError:
  can't modify frozen Array
Run Code Online (Sandbox Code Playgroud)

我得到每个测试文件.触发错误的行来自rails_helper.我检查了rails 5.1样品回购,我们的版本没有什么大不相同.

完整的堆栈跟踪是:

RuntimeError:


can't modify frozen Array
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/actionpack-5.1.0/lib/action_dispatch/middleware/stack.rb:74:in `insert'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/actionpack-5.1.0/lib/action_dispatch/middleware/stack.rb:74:in `insert'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/actionpack-5.1.0/lib/action_dispatch/middleware/stack.rb:81:in `insert_after'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/request_store-1.3.2/lib/request_store/railtie.rb:5:in `block in <class:Railtie>'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/railties-5.1.0/lib/rails/initializable.rb:30:in `instance_exec'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/railties-5.1.0/lib/rails/initializable.rb:30:in `run'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/railties-5.1.0/lib/rails/initializable.rb:59:in `block in run_initializers'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/railties-5.1.0/lib/rails/initializable.rb:58:in `run_initializers'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/railties-5.1.0/lib/rails/application.rb:353:in `initialize!'
# ./config/environment.rb:5:in `<top (required)>'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/activesupport-5.1.0/lib/active_support/dependencies.rb:292:in `require'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/activesupport-5.1.0/lib/active_support/dependencies.rb:292:in `block in require'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/activesupport-5.1.0/lib/active_support/dependencies.rb:258:in `load_dependency'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/activesupport-5.1.0/lib/active_support/dependencies.rb:292:in `require'
# ./spec/rails_helper.rb:12:in `<top (required)>'
# /Users/jeremynagel/.rvm/gems/ruby-2.3.1@Rails4.2_EnergyLink/gems/activesupport-5.1.0/lib/active_support/dependencies.rb:292:in …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails

15
推荐指数
5
解决办法
7263
查看次数

如何使用服务工作者缓存外部URL?

我一直在使用Google网络入门套件(https://github.com/google/web-starter-kit)并且有一个小小的渐进式网络应用程序正在运行,但我坚持一件事:从外部CDN缓存静态文件.例如,我正在使用来自https://fonts.googleapis.com/icon?family=Material+Icons的 MDL图标我看不到缓存请求的方法,因为服务工作者仅响应我的应用程序域中的URL.

我看到的选项:1.下载文件并将其放在供应商文件夹中.优点:易于设置SW缓存.缺点:文件不会随着新图标的添加而保持最新状态(尽管这并不重要,因为我的代码只会使用可用的图标).

  1. 使用NPM repo:https://www.npmjs.com/package/material-design-icons并使用构建步骤从node_modules复制CSS文件.优点:允许从NPM自动更新.缺点:设置稍微复杂一些.

  2. 一些花哨的代理方法,允许我使用SW来缓存外部URL.例如myapp.com/loadExternal?url= https://fonts.googleapis.com/icon?family=Material+Icons

我现在正倾向于2,但知道3是否可能会很酷.

javascript caching service-worker

13
推荐指数
2
解决办法
8281
查看次数

GraphQL-在联合体内以不同类型使用相同的字段名称

如果我有这样的联合类型:

union AllOnboardingQuestionTypes = StepFinal | TimeRangesQuestion | PercentQuestion | SingleSelectQuestion | MultiSelectQuestion | InformationOnly
Run Code Online (Sandbox Code Playgroud)

如果某些类型的字段名称相同但类型不同(例如,答案PercentAnswer是is,float而SingleSelect的答案是a string),这是执行查询的正确方法吗?

query OnboardingQuestionsQuery {
     onboardingQuestions {
       ... on InformationOnly {
         title
         description
         questionID
         inputType
       }
       ... on StepFinal {
          title
          description
       }
       ... on TimeRangesQuestion {
          title
          description
          timePeriods {
            timePeriod
            estimatedEnd
            estimatedStart
          }
       }
       ... on SingleSelectQuestion {
         title
         description
         questionID
         inputType
         singleSelectAnswer: answer
         singleSelectOptions: options {
           value
           label
         }
       }
       ... on MultiSelectQuestion {
         title
         description
         questionID …
Run Code Online (Sandbox Code Playgroud)

graphql

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

Cypress:检查元素是否存在,无异常

我正在使用 Cypress 测试数据导出页面,该页面需要几分钟才能生成导出。该页面不会动态更新,因此我需要让 Cypress 重新加载页面,直到状态显示为已完成。我浏览了 Cypress 文档,但找不到一种方法来检查元素是否存在而不抛出异常(如果不存在)。

我尝试使用 jQuery 但这导致了无限循环:

describe('test reloading', function () {
  it('testSelector reload', function () {
    cy.visit('https://docs.cypress.io/api/utilities/$.html#Usage');
    let found = false;
    while (!found) {
      const nonExistent = Cypress.$('.fake-selector');

      if (!nonExistent.length) {
        cy.reload();
      } else {
        found = true;
      }
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

cypress

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

Mandrill - auto_text做什么?

根据https://mandrillapp.com/api/docs/messages.php.html,通过Mandrill API发送电子邮件时有一个auto_text参数.这是如何运作的?如果我省略了text参数,它会自动删除HTML实体并生成电子邮件的纯文本版本吗?

例如,如果我的HTML电子邮件如下:

测试,测试123

它只是显示测试,测试123作为文本内容吗?

欢呼,杰里米

mandrill

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

您是否必须在localhost和生产中运行Composer?

我是Composer(getcomposer.org)的新手,如果我使用Composer在本地安装软件包然后使用Git将我的代码库推送到生产服务器,我不确定它是如何工作的.我是否必须在生产服务器上再次运行Composer?

干杯,J

php git composer-php

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

Jest:检查模拟模块函数被调用了多少次

我在代码中使用模块 waait 来允许我执行以下操作:

import * as wait from 'waait';
await wait(500);
Run Code Online (Sandbox Code Playgroud)

我创建了一个手动模拟:

module.exports = (() => {
  return Promise.resolve();
});
Run Code Online (Sandbox Code Playgroud)

然后我想在我的测试中有这样的断言:

import * as wait from 'waait';
expect(wait).toHaveBeenCalledTimes(1);
expect(wait).toHaveBeenLastCalledWith(1000);
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到:

expect(jest.fn())[.not].toHaveBeenCalledTimes()

jest.fn() value must be a mock function or spy.
Received: undefined
Run Code Online (Sandbox Code Playgroud)

jestjs

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

如何将PHP变量传递给角度js?

我有一个页面,我在Angular JS中进行逆向工程.所有的内容都被PHP脚本所回应(我知道这种做法不好,但我很容易进入Angular,只是想将它用于onBlur事件).

我试图弄清楚如何将变量从PHP传递给Angular.变量(客户电子邮件)不可编辑,所以我想把它放在一个隐藏的字段中.问题是ng-model不绑定隐藏的输入.我需要另一个解决方案

php angularjs

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

解析错误:无法以跨环境方式使用资源“x”,必须显式设置资源的物理名称

我正在尝试将 ecs 集群从一个堆栈传递到另一个堆栈。

我收到此错误: Error: Resolution error: Resolution error: Resolution error: Cannot use resource 'BackendAPIStack/BackendAPICluster' in a cross-environment fashion, the resource's physical name must be explicit set or use `PhysicalName.GENERATE_IF_NEEDED`.

集群在 BackendAPIStack 中定义如下:

this.cluster = new ecs.Cluster(this, 'BackendAPICluster', {
   vpc: this.vpc
});
Run Code Online (Sandbox Code Playgroud)

堆栈定义如下:

 const backendAPIStack = new BackendAPIStack(app, `BackendAPIStack${settingsForThisEnv.stackVersion}`, {
    env: {
      account: process.env.CDK_DEFAULT_ACCOUNT,
      region: process.env.CDK_DEFAULT_REGION
    },
    digicallPolicyQueue: digicallPolicyQueue,
    environmentName,
    ...settingsForThisEnv
  });

  const metabaseStack = new MetabaseStack(app, 'MetabaseStack', backendAPIStack.vpc, backendAPIStack.cluster, {
    vpc: backendAPIStack.vpc,
    cluster: backendAPIStack.cluster
  });

  metabaseStack.addDependency(backendAPIStack);
Run Code Online (Sandbox Code Playgroud)

这是 MetabaseStack 的构造函数: …

aws-cloudformation aws-cdk

3
推荐指数
1
解决办法
2493
查看次数

如何授予通过 terraform 写入全局二级索引的权限?

我的同事已经设置了 terraform 来构建一个 dynamo DB 表 + 全局二级索引。

  global_secondary_index {
    name            = "${lookup(var.archive_metadata, "gsi_name")}"
    hash_key        = "${lookup(var.archive_metadata, "gsi_hash_key")}"
    read_capacity   = "${lookup(var.archive_metadata, "read_capacity")}"
    write_capacity  = "${lookup(var.archive_metadata, "write_capacity")}"
    projection_type = "ALL"
  }
Run Code Online (Sandbox Code Playgroud)

我们试图弄清楚如何授予对 lambda 函数的写访问权限。我们试过这个

data aws_iam_policy_document "archive_metadata_write" {
  statement {
    actions = [
      "dynamodb:BatchGetItem",
      "dynamodb:Describe*",
      "dynamodb:Get*",
      "dynamodb:List*",
      "dynamodb:Query",
      "dynamodb:Scan",
      "dynamodb:PutItem",
      "dynamodb:UpdateItem",
    ]

    resources = [
      "${aws_dynamodb_table.archive_metadata.arn}",
      "${aws_dynamodb_table.archive_metadata.global_secondary_index}"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

没运气。

也试过

"${aws_dynamodb_table.archive_metadata.global_secondary_index.gsi_name}"
Run Code Online (Sandbox Code Playgroud)

 "${aws_dynamodb_table.archive_metadata.global_secondary_index.arn}"
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform

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

D3 v4 xAxis 缩放返回 x 作为 NaN 使 rescale(x) 无法完成

我正在尝试使用 x 轴作为日期格式来实现缩放选项。这是代码示例:

var margin = {
top: 20,
right: 20,
bottom: 40,
left: 100
  },
  svgWidth = 800,
  svgHeight = 500,
  width = svgWidth - margin.left - margin.right,
  height = svgHeight - margin.top - margin.bottom;

svg = d3.select('body')
  .append("svg")
  .attr("style", "width: " + svgWidth + "px\; height: " + svgHeight + "px\;");

var x = d3.scaleUtc().range([0, width])
  .domain([new Date("3/12/2017"), new Date("3/30/2017")]);

var y = d3.scaleBand()
  .range([height, 0])
  .padding(0.1)
  .domain(["test"])

var xAxis = d3.axisBottom(x)
  .tickFormat(d3.utcFormat("%m-%d"));

var yAxis = d3.axisLeft(y);

var …
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js

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