小编jul*_*lez的帖子

如何在反应路由器的路由组件中使用渲染时传递匹配(v4)

在声明这样的路线时:

App.js

<Route path="/:id" component={RunningProject} />

我可以像这样获取RunningProject.js中的id参数

constructor(props){
    super(props)
    console.log(props.match.params.id);
}
Run Code Online (Sandbox Code Playgroud)

但是在宣布这样的路线时

<Route path="/:id" render={() => <RunningProject getProjectById={this.getProject} />} />

我收到一个错误,因为匹配不再传递到道具.

如何将匹配对象传递给props使用render=而不是component=

reactjs react-router

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

并行测试执行无限期地挂起用于rspec的webkit驱动程序

我正在通过capybara-webkit驱动程序上的parallel_tests运行我的规范.我有以下ruby环境:

 ruby -v
 ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.4.2]
Run Code Online (Sandbox Code Playgroud)

在包含以下内容的gemset上运行rvm(截取for capybara,rails,rspec和parallel_tests以获得相关性.如果看到更大的gemset会有所帮助,请告诉我们):

 *** LOCAL GEMS ***

 ...
 capybara (1.1.2)
 parallel_tests (0.8.12)
 rails (3.2.11)
 rspec (2.11.0)
Run Code Online (Sandbox Code Playgroud)

当我在一个进程上运行我的测试套装时rake spec,我的所有测试都会运行完成.但是,当通过parallel_tests运行时,会发生以下情况:

 8 processes for 220 specs, ~ 27 specs per process
Run Code Online (Sandbox Code Playgroud)

之后这些流程最终会开始回归:

 Finished in 11 minutes 15.76 seconds
 Finished in 11 minutes 28.89 seconds
Run Code Online (Sandbox Code Playgroud)

但是,在前6个进程返回后,parallel_spec将无限期挂起,永不终止,并且永远不会为剩余的2个进程打印输出.

我在运行OS X Lion的MacBook Pro上使用2.4GHz Intel i7.

所以我的问题很简单:为什么它会挂起,我该如何调试它挂起的原因,以及如何阻止它挂起并允许parallel_tests运行完成?

webkit rspec ruby-on-rails capybara parallel-testing

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

错误:未编译 Python ssl 扩展。缺少 OpenSSL 库?(在 ubuntu 18.04 上安装 python 2.7)

尝试asdf在 Ubuntu 18.04 上使用版本管理器安装任何版本的 Python 2.7.x 时,我不断收到此错误。我用谷歌搜索过,但有很多答案不起作用。我该如何解决?

python openssl python-2.7

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

如何解决 ruby​​ on Rails 中的“false.blank?”问题?

我需要检查布尔变量是否已设置其值,我可以通过检查它是否包含空字符串""nil指示该值尚未设置以及另一个值truefalse指示该值已设置来知道。

我尝试使用,blank?但 Railsblank?在调用时false实际上会返回的方法上有这个问题true

false.blank? # Returns true

因此,当变量的值设置为 false 时,它​​会给我该值的误报,就好像该变量尚未设置一样。

如何在 Ruby on Rails 中检查变量是否未设置("", nil)或已设置(true, false, 0, )?1

ruby-on-rails

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

%-d 与 %e 或“无填充”与“空白填充”之间的 Ruby 日期格式差异

在 Ruby文档中,有两个非常相似的值用于格式化日期(时间)字符串

  1. %-d被形容为no-padded (1..31)
  2. %e被形容为blank-padded ( 1..31)

这两者有什么区别?

ruby ruby-on-rails

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

仅在 Rails API 中设计控制器“未初始化常量 Api::V1::RegistrationsController”

我正在创建一个rails api,我希望资源处于/api/v1/路由状态,包括注册和身份验证。

我创建了以下路线,为我提供了 Devise 所需的路线:

config/routes.rb

namespace :api, defaults: { format: :json } do
  namespace :v1 do
    devise_for :users, as: 'api'
  end
end
Run Code Online (Sandbox Code Playgroud)

它提供:

                      Prefix Verb   URI Pattern                      Controller#Action
          new_api_user_session GET    /api/v1/users/sign_in(.:format)  api/v1/sessions#new {:format=>:json}
              api_user_session POST   /api/v1/users/sign_in(.:format)  api/v1/sessions#create {:format=>:json}
      destroy_api_user_session DELETE /api/v1/users/sign_out(.:format) api/v1/sessions#destroy {:format=>:json}
  cancel_api_user_registration GET    /api/v1/users/cancel(.:format)   api/v1/registrations#cancel {:format=>:json}
     new_api_user_registration GET    /api/v1/users/sign_up(.:format)  api/v1/registrations#new {:format=>:json}
    edit_api_user_registration GET    /api/v1/users/edit(.:format)     api/v1/registrations#edit {:format=>:json}
         api_user_registration PATCH  /api/v1/users(.:format)          api/v1/registrations#update {:format=>:json}
                               PUT    /api/v1/users(.:format)          api/v1/registrations#update {:format=>:json}
                               DELETE /api/v1/users(.:format)          api/v1/registrations#destroy {:format=>:json}
                               POST   /api/v1/users(.:format)          api/v1/registrations#create {:format=>:json}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试注册用户时,出现以下错误

ActionController::RoutingError: …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise

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