在我的Rails3.1应用程序(使用Ruby1.9)中,我有一个Deployer1类,它位于model目录下的worker子目录中我正在尝试使用以下代码动态加载/实例化此类:clazz=item.deployer_class#deployer_classistheclassnameinastringdeployer_class=Object.const_getclazzdeployer=deployer_class.new如果我不使用namespace,例如像这样的全局名称:classDeployer1end然后它工作正常(deployer_class="Deployer1")-它可以
我正在尝试使用Sinatra创建一条仅接受带有Content-type:application/json的POST的路由,但没有成功。我的做法如下:post'/dogs',:provides=>:jsondo#returnshereajsonresponseend使用curl进行测试,我发现:provides=>:json配置路由以响应Content-Type:application/json。没错,因为我还想用JSON消息响应POST请求,但我真的需要这条路由只用Content-Type:application/json响应POST请求,而不是,例如,对其他人(例如Content-T
我正在尝试开始使用Nokogiri。我运行了命令geminstallnokogiri作为Windows7(64位)的管理员。控制台显示“已成功安装”和“已安装1个gem”。当我输入时gemlist--localORgemq--local我在“本地gem”列表中看到了Nokogiri。但是,当我尝试通过require语句(在NetBeans中)使用它时,出现“没有要加载的此类文件”的错误。我做错了什么?我不是Ruby专家。这也是我安装的第一个gem。请为我简化它。 最佳答案 在Ruby1.8中,您必须先require'rubygems
我创建了一个gem(TranslationsGem),我在多个项目(一个引擎和一个Rails应用程序)中使用它。这个gem设置了几个哈希值,这些哈希值被加载到I18n后端。#store_dynamic_translations方法设置了几个哈希,这些哈希被加载到I18n后端。它基本上是这样工作的:I18n.backend.store_translations(:en,{test:{property:'value'}})我的测试确认方法和翻译加载工作正常。但是我无法让它在主机引擎和Rails应用程序中工作。在我的测试环境中,我必须在我的test_helper中执行该方法,以确保正确加载翻
我尝试使用推荐的方式(来自Rails指南)来测试插件中生成的路由,但测试一直失败。奇怪的是,如果我在创建路由后重新加载路由(或者我认为如此),测试会失败,但如果我让测试通过一次(例如使用自动测试),那么该路由会在后续尝试中被识别.代码如下:describe"namedroutereport_with_last_name_smith_path"dobefore:alldoReports::Application.routes.drawdomatch"/report_some_report_for_us"=>"report#report_some_report_for_us",:as=>:
我正在尝试为修改一些标准Rails助手的插件“foobar”开发测试。在vendor/plugins/foobar/test/foobar_test.rb中,我有以下内容:#createthetestmodelclassThing'index')}enddefdestroy@thing=Thing.find(params[:id])@thing.destroyformat.html{render(:file=>'index')}endend#confirmthatthetestenvironmentisworkingcorrectlyclassThingsTest[:index,:de
我正在用spork运行rspec,但我无法在lib中获取文件以在连续的rspec运行时重新加载。我试过在“Spork.each_run”中要求文件我没有收到任何回复,所以我会尝试进一步解释。我的Rails应用程序中有以下文件:lib/car.rbspec/lib/car_spec.rb要运行测试,首先我启动spork然后运行'rspecspec/lib/car_spec.rb'除非我重新启动spork,否则RSpec看不到我对Car类所做的更改。有什么帮助吗?我在:rails3.1.0.rc6rspec2.6.0spork0.9.0.rc9 最佳答案
这是一个奇怪的小问题,导致我在SO上发布了我的第一个问题。作为Rails应用程序的一部分,我正在使用wkhtmltopdf将HTML文档转换为PDF。为此,我将Rails网页呈现为临时目录中的静态HTML文件,将静态页眉、页脚和图像复制到同一临时目录,然后使用“系统”执行wkhtmltopdf。这在开发和测试环境中非常有效。在我的暂存环境中,它没有。起初我怀疑权限,但该过程的前几个部分(创建HTML静态文件并将它们复制到目录)正在运行。我可以从该临时目录中的命令行运行wkhtmltopdf并获得预期的结果。最后,我在暂存环境中通过Rails控制台通过“系统”和反引号运行wkhtmlto
我在OSXML上的Ruby2.0.0和Rails4配置中遇到了这个问题。我的ArchLinux工作站上没有这个问题。这个警告之所以如此烦人,是因为它破坏了我的Vim插件(SweetVimRspec),因此终止了我的Vim开发工作流程,因为我无法测试。我在这里尝试了所有赞成的解决方案:MacuserandgettingWARNING:NokogiriwasbuiltagainstLibXMLversion2.7.8,buthasdynamicallyloaded2.7.3而且我无法摆脱它(实际上我在nokogiri本身中摆脱了它,但在rspec和railsconsole中根本没有)。
我的父类有时不会在子类的after_save回调中加载其所有子类。我有两个模型:classParent我正在运行一个测试,它只检查两件事。parent.children.count和parent.children.length。两者都应该是4。我意识到计数有时会不同,但(据我所知)它不应该在这里。如果我定义update_something只是迭代children:defupdate_somethingchildren.eachdo|child|endend测试失败——循环将执行一次(并将返回单个child的数组——创建的第一个child)。否则,只要不提及children,我就可以输入