ruby-on-rails – 如何在Factory Girl Rails中使用Pry?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在Factory Girl Rails中使用Pry?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为了调试工厂,我在有问题的行的末尾插入了rescue binding.pry:
after_create do |my_object,proxy|
  my_object.foreign_key_id = proxy.generated_attribute rescue binding.pry

不幸的是,在生成的FactoryGirl :: Declaration :: Implicit上下文中,我似乎无法像在“普通”代码中那样访问上下文(NameError:未定义的局部变量或方法`proxy’用于#< FactoryGirl :: Declaration: :隐式:为0x0 ...&GT).如何在Pry会话中检查和操作my_object和代理? 该代码作为Cucumber功能背景的一部分调用

Given the following my_objects exist:
| property |
| value    |

support脚本需要factory_girl_rails和factory_girl / step_definitions.rb.

解决方法

为了允许属性名称在没有块参数的情况下定义属性,factory_girl使用instance_eval计算定义块,并取消定义Object上的大多数私有方法,包括绑定.这意味着当您调用上面的binding.pry时,您不会在该块的绑定上调用pry;相反,您要定义一个名为“binding”的新属性,并在创建的属性定义上调用pry.

你可以通过使用Kernel.binding.pry来解决这个问题.

猜你在找的Ruby相关文章