小编Adr*_*ien的帖子

Ruby中的`try`和`&.`(安全导航操作符)有什么区别?

这是我的代码:

class Order < Grape::Entity
  expose :id { |order, options| order.id.obfuscate }
  expose :time_left_to_review do |order, options|
    byebug
    order&.time_left_to_review # ERROR
  end
  expose :created_at { |order, options| order.last_transition.created_at }
end

# NoMethodError Exception: undefined method `time_left_to_review' for #<Order:0x007f83b9efc970>
Run Code Online (Sandbox Code Playgroud)

我认为这&.是一个捷径,.try但我想我错了.可能有人指出我正确的方向,我错过了什么?

我觉得这不是红宝石相关的.葡萄可能吗?虽然我不明白它是怎么回事.

ruby if-statement ruby-on-rails nomethoderror grape-api

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

AngularJS中的全局设置

我有一个必须可自定义的应用程序,一个参数是网址的根目录.该应用程序不一定是网站的根源,即.其可以在托管http://onedomain.com/index.html,这里appName将是/,因为其可以在托管http://anotherdomain.com/myapp/index.html,其中appName/myapp/.

但是我需要知道appName路由器,所以在configFn我的模块中,要做这种事情:

return $routeProvider.when(appName + "index.html", {
  templateUrl: 'views/main.html',
  controller: 'MainCtrl'
})
Run Code Online (Sandbox Code Playgroud)

由于我有更多参数,我启动了一个我调用的服务,Settings但是在配置模块时你无法注入服务...

你会怎么做?

对于我的担心,我开始考虑自定义提供商,但我不确定它是否合适.

angularjs

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

chrome新的垂直时间轴中的空白是什么?

在此输入图像描述

我正在使用chrome中的requestAnimationFrame在raphael中运行一个简单的视图框动画.我注意到所有脚本和渲染任务都已完成但我仍然看到30到60毫秒之间的"死空间",看起来浏览器在那里无所事事.对此有何见解?

timeline google-chrome requestanimationframe

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

RSpec种子在不同计算机上运行是否相同?

我正在尝试使用Travis设置CI。但是我遇到了在Travis上失败的测试,但是在本地却没有,甚至提供了相同的种子。

我以为种子运行相同,但是现在我不确定,无论是否做,都想弄清楚,所以我现在去哪里看看。

rspec

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

函数返回类型与 TypeScript 不匹配

我无法理解。我熟悉 TypeScript,并且我正在尝试尽可能地坚持它的建议,但这对我来说毫无意义。

了解 TypeScript 如何讲述返回类型的问题

阅读提示后,我看到了类型的定义EffectCallback,其中包括:

type EffectCallback = (() => void)
Run Code Online (Sandbox Code Playgroud)

只是为了看看它是否有任何区别,我直接放置了类型的定义,正如您所看到的,它不再触发 TypeScript。

在此输入图像描述

我缺少什么?

另一件事是,根据 TypeScript 告诉我的,useEffect需要一个EffectCallback,它最多是一个void作为参数返回的函数。

TypeScript 告诉我们 <code>useEffect</code> 需要一个 EffectCallback

问题是,根据React 文档useEffect,我可以传递一个返回函数的函数。React 使用此函数进行清理。

我的直觉告诉我,有一件小事我无法掌握,否则我就无法弄清楚这一点!

typescript reactjs

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

如何在 Vim 中将 yank 映射到操作系统的剪贴板?

可能的重复:
vim:将选择复制到 OS X 剪贴板

虽然我成功地paste从剪贴板( nmap <leader>p "*p)映射,但yank( nmap <leader>y "*y) 似乎不起作用。实际上,它在 Vim 的剪贴板中猛拉。

知道如何正确地做到这一点吗?我知道,clipboard=unnamed但我可能会保留旧的 yank/paste vim 命令。

编辑:我的需求似乎有些混乱。

该命令"*y 有效。所以+clipboard我的 Vim 环境中的东西没有问题。什么不起作用的是映射的东西。

我想添加以下内容:

nmap <leader>y "*y # Doesn't work as expected. It copies only in Vim's clipboard, ie I have to type `p` to paste the copied content instead of `"*p`.
nmap <leader>p "*p # Works as expected.
Run Code Online (Sandbox Code Playgroud)

我清楚了吗?

第二次编辑:以防万一,因为我不知道什么可以帮助你帮助我,vim --version …

vim clipboard yank

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

如何在 tmux 启动时创建布局并运行命令?

我正在尝试编写一个可以运行/源代码的脚本,以便 tmux 设置特定的布局并运行命令。我有一些结果。

这是我到目前为止所写的内容:

selectp -t 1
splitw -v -p 15
splitw -h -p 50

selectp -t 1
send-keys 'cd ~/code/octoly' Enter
send-keys 'vim .' Enter

selectp -t 2
send-keys 'cd ~/code/octoly' Enter
send-keys 'drails c' Enter

new-window -d -n server -c ~/code/octoly
selectw -t 2
send-keys 'fd' Enter

splitw -h -p 50
send-keys 'cd ~/code/octoly' Enter
send-keys 'drails s' Enter

selectp -t 1
splitw -v -p 50
send-keys 'cd ~/code/octoly' Enter
send-keys 'be guard' Enter
Run Code Online (Sandbox Code Playgroud)

或多或少是创建第二个窗口和窗格。虽然窗格没有给我我想要的。它们都在第一个窗口中创建,在第二个窗口中没有创建。

这是我运行以启动 tmux 的内容: …

tmux

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

408在NodeJS应用中请求Github API超时

按照Github API文档为NodeJS应用创建授权。

我有以下代码:

var _options = {
  headers: {
    'User-Agent': app.get('ORGANISATION')
  },
  hostname: 'api.github.com'
};

var oauth2Authorize = function () {
  var path = '/authorizations?scopes=repo';
  path +=    '&client_id='+ app.get('GITHUB_CLIENT_ID');
  path +=    '&client_secret='+ app.get('GITHUB_CLIENT_SECRET');
  path +=    '&note=ReviewerAssistant';

  _options.path = path;
  _options.method = 'POST';

  var request = https.request(_options, function (response) {
    var data = "";

    response.on('data', function (chunk) {
      data += chunk;
    });

    response.on('end', function () {
      console.log(data);
    });
  });

  request.on('error', function (error) {
    console.log('Problem with request: '+ …
Run Code Online (Sandbox Code Playgroud)

https http node.js github-api

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

simple_form缺少翻译

我有一个类型的date属性Date.

= f.input :date
Run Code Online (Sandbox Code Playgroud)

simple_form提出了一个例外:

undefined method `map' for "translation missing: fr.date.order":String
Run Code Online (Sandbox Code Playgroud)

我不应该默认做任何事情.翻译应该没问题.我不知道应该寻找什么.

完整的代码视图:

section
  .row
    h1= t('actions.new')

  .row
    = simple_form_for @group_action, url: admin_actions_path do |f|
      = f.input :concerned_object
      = f.input :concerned_company
      = f.input :date
      = f.input :amount_estimation
      = f.input :description
      = f.input :tags

      = f.button :submit
Run Code Online (Sandbox Code Playgroud)

group_action架构:

  create_table "group_actions", force: true do |t|
    t.integer  "user_id",                        null: false
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "concerned_object",  default: "", null: false
    t.string   "concerned_company", default: "", …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails simple-form

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

使用 Jest 在另一个模块的依赖项中断言函数调用

我尝试覆盖以下代码:

\n\n
// @flow strict\n\nimport { bind, randomNumber } from 'Utils'\nimport { AbstractOperator } from './AbstractOperator'\n\nexport class Randomize extends AbstractOperator {\n  // ...\n\n  randomPick (dataset: Array<string>, weights: ?Array<number>): number {\n    if (!weights) { return randomNumber(0, (dataset.length - 1)) }\n\n    const sumOfWeights: number = weights.reduce((a, b) => a + b)\n    let randomWeight = randomNumber(1, sumOfWeights)\n    let position: number = -1\n\n    for (let i = 0; i < dataset.length; i++) {\n      randomWeight = randomWeight - weights[i]\n      if (randomWeight <= 0) {\n        position …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing mocking jestjs

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

如何在不使用eval的情况下动态调用方法?

目前,这就是我正在做的事情:

    %table
      %thead
        %tr
          %th Nom
          %th Rôle
          %th{ width: "110px" }
      %tbody
        - @organization.users.each do |user|
          %tr
            %td
              %p.font-bold= user.full_name
              %p.font-sm.text-gray-600= user.email
            %td.capitalize= user.role
            %td
              = link_to 'Détails', eval("#{user.role}_path(user)"), class: 'primary'
              %a.danger Enlever de l'organisation
Run Code Online (Sandbox Code Playgroud)

但是使用eval几乎总是一个坏主意,无论是出于性能问题还是出于安全问题。

ruby ruby-on-rails

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