小编Ric*_*nne的帖子

React包装器:React不识别DOM元素上的`staticContext` prop

我正在尝试围绕react-router-dom NavLink组件创建一个包装器组件.

我希望我的自定义组件接受所有NavLinks道具,并将它们代理到NavLink.

但是,当我这样做时,我得到:

__PRE__

可以在此处找到该问题的工作演示:https://codesandbox.io/s/w0n49rw7kw

谢谢,

reactjs react-router react-router-dom

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

Rails应用程序无法仅在chrome上验证CSRF令牌

我有一个在Docker容器中运行的Rails应用程序.我Devise用于验证和Rack::CorsCORS.

在我的机器上,一切都很好.部署后,我可以GET正确登录页面,但当我填写登录表单并提交时,Chrome会回复一个空白页面和422(不可处理实体)状态代码.Rails日志显示:

Can't verify CSRF token authenticity.
Completed 422 Unprocessable Entity in 2ms (ActiveRecord: 0.0ms)
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
Run Code Online (Sandbox Code Playgroud)

有趣的是,在Firefox上,一切运行顺利.

我已经尝试了所有关于Rails,CORS,CSRF的内容,但我无法找到解决方案.

我真的不知道这里有什么类型的信息,所以请随意在评论中询问详细信息,我将编辑问题.

ruby-on-rails-5

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

安装 Nokogiri 时 GCC 编译错误

我正在尝试运行,bundle install但在尝试安装 Nokogiri 1.10.3 时出现错误

这是来自 的错误消息mkmf.log

gcc -o conftest -I/home/chille/.rvm/rubies/ruby-2.5.1/include/ruby-2.5.0/x86_64-linux -I/home/chille/.rvm/rubies/ruby-2.5.1/include/ruby-2$
gcc: error: unrecognized command line option '-Wmisleading-indentation'
gcc: error: unrecognized command line option '-Wimplicit-fallthrough=0'
gcc: error: unrecognized command line option '-Wduplicated-cond'
gcc: error: unrecognized command line option '-Wrestrict'
Run Code Online (Sandbox Code Playgroud)

ruby rubygems

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

Merlin抱怨同一个项目缺少模块

我是Ocaml的新手,只是用emacs,merlin和flycheck设置我的开发环境.除了一件事之外,一切都或多或少地起作用:merlin似乎无法识别同一项目中模块之间的依赖关系.

例如,我有一个包含两个模块的测试项目:main.ml和awesome.ml.

这是我的main.ml引用第二个模块awesome.ml

(* main.ml *)
open Core
module A = Awesome
let _ =
   Printf.printf "hello \n Converted to string we get: %s\n"
     (A.str_of_t (A.succ A.one_t));
Run Code Online (Sandbox Code Playgroud)

这是awesome.ml:

(* awesome.ml *) 
type t = int
let one_t = 1
let succ i = i + 1
let str_of_t = string_of_int
Run Code Online (Sandbox Code Playgroud)

当我发送main.ml缓冲区以使用utop-eval-buffer函数评估到utop时,我收到一个错误:"错误:未绑定的模块很棒"

我在项目的根目录中有.merlin,它有S指令.我知道它是由梅林发现的,因为它没有抱怨"开放核心"

S src
PKG core lwt ounit
B _build/src
B +threads
Run Code Online (Sandbox Code Playgroud)

这是我的_tags:

<src/**>: include
<src/**>: package(oUnit), package(core)
true:thread
Run Code Online (Sandbox Code Playgroud)

ocamlbuild的常规项目编译工作正常,没有错误.这是Makefile

## Makefile
default: main
main: main.native

test: test.native

%.native:
   ocamlbuild …
Run Code Online (Sandbox Code Playgroud)

emacs ocaml utop merlin

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

12/24 小时模式冲突

我是一名法国 Android 开发人员,因此使用Locale.getDefault()会导致我DateFormat使用 24 小时模式。但是,当我通过设置菜单DateFormat将设备手动设置为 12 小时模式时,会继续以 24 小时格式运行。

相反,TimePickers 是根据我自己的 12/24 小时设置来设置的。

有没有办法让DateFormats 的行为与 s 相同TimePicker

编辑:

这是我的DateFormat声明:

timeFormat = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.getDefault());
Run Code Online (Sandbox Code Playgroud)

这是我将我设置TimePicker为 12 或 24 小时模式的地方。

tp.setIs24HourView(android.text.format.DateFormat.is24HourFormat((Context) this));
Run Code Online (Sandbox Code Playgroud)

我的解决方案:

根据下面@Meno Hochschild 的回答,这是我解决这个棘手问题的方法:

boolean is24hour = android.text.format.DateFormat.is24HourFormat((Context) this);
tp.setIs24HourView(is24hour); // tp is the TimePicker
timeFormat = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.getDefault());
if (timeFormat instanceof SimpleDateFormat) {
    String pattern = ((SimpleDateFormat) timeFormat).toPattern();
    if (is24hour) {
        timeFormat = …
Run Code Online (Sandbox Code Playgroud)

android simpledateformat android-timepicker

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

在vim中获取ocamlmerlin自动完成功能

我正在尝试为OCaml进行自动完成.我喜欢使用Vim,我找到了这个插件:

https://github.com/the-lambda-church/merlin

我使用OPAM安装它并添加了所需的行以将其加载到我的.vimrc

我确保OPAM bin文件夹(包含ocamlmerlin)在我的.profile文件中,并检查我是否可以从终端访问它,对于vim,我使用"Ctrl-r = $ PATH"打印了PATH变量,它显示了它包含OPAM bin文件夹.

它仍然不起作用,我不知道还有什么可以使其工作.我得到了语法高亮,但无论如何都没有merlin.我希望自动完成工作.

如果我按Ctrl-N显示完成建议我得到"正常"的vim完成,这基本上只是文档中提到的单词列表.

检查启动日志文件,我可以看到Vim确实加载了merlin:

chdir(/home/incraved/.opam/system/share/ocamlmerlin/vim/plugin)
fchdir() to previous dir
sourcing "/home/incraved/.opam/system/share/ocamlmerlin/vim/plugin/merlin.vim"
finished sourcing /home/incraved/.opam/system/share/ocamlmerlin/vim/plugin/merlin.vim
Searching for "/home/incraved/.opam/system/share/ocamlmerlin/vimbufsync/plugin/**/*.vim"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

vim ocaml autocomplete merlin

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

在Vim中使用Merlin在ocaml中开发Coq插件

我用opam安装了Coq,并想制作一个Coq插件。我设法使用编译了一些插件示例coq_makefile,但是如果我可以在vim中使用merlin来获取类型信息并完成Coq库,那将是很棒的。

有没有一种方法可以将Coq库添加到ocamlfind?

vim ocaml coq ocamlfind merlin

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

Ruby块隐式变量

我想知道Ruby是否有像Scala中那样的隐式块参数或通配符,可以绑定并用于进一步执行,如下所示:

my_collection.each { puts _ }
Run Code Online (Sandbox Code Playgroud)

要么

my_collection.each { puts }
Run Code Online (Sandbox Code Playgroud)

有一些类似于proc的符号,它从集合中调用每个元素的一些方法,如:array_of_strings.each &:downcase,但我不想在循环中执行对象的方法,而是使用此对象作为参数执行一些函数:

my_collection.each { my_method(_) }
Run Code Online (Sandbox Code Playgroud)

代替:

my_collection.each { |f| my_method(f) }
Run Code Online (Sandbox Code Playgroud)

在Ruby中有没有办法做到这一点?

ruby lambda block

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

无法解构Functor(模块)

这种语法非常有用 - 这是否有理由不起作用?谢谢!

module Foo = {
  let bar: string = "bar"
};

let bar = Foo.bar; /* works */
let { bar } = Foo; /* Unbound record field bar */
Run Code Online (Sandbox Code Playgroud)

在线尝试!

ocaml reason

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

RSpec:为什么 `instance_double` 可以与 StandardError 一起使用,但不能与其他异常类一起使用?

在某些测试中,我想设置一个引发特定异常类的模拟。因为该特定异常很难在测试中实例化,所以我想使用双精度。

这是一个例子。

class SomeError < StandardError
  def initialize(some, random, params)
    # ...
  end
end

class SomeClass
  def some_method
    mocked_method
    :ok
  rescue SomeError
    :ko
  end

  def mocked_method
    true
  end
end

describe SomeClass do
  subject(:some_class) { described_class.new }

  describe '#some_method' do
    subject(:some_method) { some_class.some_method }

    it { is_expected.to be :ok }

    context 'when #mocked_method fails' do
      before do
        allow(some_class).to receive(:mocked_method)
          .and_raise(instance_double(SomeError))
      end

      it { is_expected.to be :ko }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,运行此测试失败并显示以下消息。

     Failure/Error:
       mocked_method

     TypeError:
       exception class/object expected
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我替换SomeErrorStandardError …

ruby rspec exception mocking

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