草庐IT

ASSERT_TRUE

全部标签

ruby-on-rails - "Expected string default value for ` --jbuilder `; got true (boolean)"新建rails项目出错

我正在开始一个新项目,现在已经做了很多次了。但是,这是我第一次遇到这个问题!我正常创建应用railsnewmyapp-dpostgresql我使用railsdb:create创建了数据库并运行了站点railss。一切正常,我看到了Rails欢迎/等待页面。现在我开始创建我的模型,例如railsgmodeluser。我明白了!Expectedstringdefaultvaluefor`--jbuilder`;gottrue(boolean)invokeactive_recordThename'User'iseitheralreadyusedinyourapplicationorreser

ruby-on-rails - 如何只测试重定向到的 URL 的一部分(使用 assert_redirected_to)?

在我的Rails应用程序的功能测试中,我想测试我被重定向到的位置。预期的URL指向外部资源(这意味着它不是我的应用程序的一部分)。URL如下所示:https://my.url.com/foo?bar1=xyz&bar2=123不幸的是我无法预测参数,因为它们是由外部资源生成的。*但是,URL的其余部分始终保持不变:https://my.url.com/foo我通常使用assert_redirected_to进行此类测试,但这需要整个URL,包括参数。谁能想出另一种方法来测试该重定向,但只检查没有参数的URL的第一部分?(该URL不在assigns哈希中)*(我对应用程序进行API调用,

ruby - Chef only_if 属性等于 true

问题:我有一个chef语句,它应该只在属性为“true”时运行。但它每次都会运行。预期行为:当default[:QuickBase_Legacy_Stack][:dotNetFx4_Install]="false"时,不应安装dotnet4。实际行为:无论属性设置为什么,它都会安装dotnet4。我的代码:属性文件:default[:QuickBase_Legacy_Stack][:dotNetFx4_Install]="false"配方文件:windows_package"dotnet4"doonly_ifnode[:QuickBase_Legacy_Stack][:dotNetFx

ruby-on-rails - 如何确定 rails 中是否存在返回 true 或 false 的匹配项?

我想创建一个针对电子邮件处理返回true或false的测试。目前,如果电子邮件地址以r+开头则为真,否则为假。这将帮助我们的服务器忽略我们遇到的大量垃圾邮件。例子:r+kldslkadslkadslk@site.com..truer+123123312@site.com..truevigraaaa@site.com..FALSE用Rails/ruby/regex处理这个问题的最有效方法是什么?谢谢目标是rails/ruby中的一个衬里:ABORTifXXXXX==0 最佳答案 这将匹配:/^r\+.*@site.com$/例子:>>

ruby-on-rails - 由于 :remote=>true,表单提交了两次

我的表单提交了两次,经过仔细检查,这是由':remote=>true'引起的。我删除了它,我的项目运行良好。谁能告诉我为什么?以及如何使用':remote=>true'?我的ruby代码:true,:id=>'new_product_group_form')do%>[:product_scopes,:groups,group_name]),scopes.keys.mapdo|scope_name|[t(:name,:scope=>[:product_scopes,:scopes,scope_name]),scope_name]end]end)%>"/>浏览器中的最终html代码。Add

ruby-on-rails - Rails - 如何将变量插入正则表达式 (Regex),例如 assert_match

我想做类似的事情assert_match/blahblahblah#{@user}/,@some_text但我运气不好。我在这里做错了什么? 最佳答案 这是将变量插入正则表达式的正确方法:irb(main):001:0>a='Hi'=>"Hi"irb(main):002:0>b=/Not#{a}/=>/NotHi/所以您的问题很可能是断言由于匹配不当而失败。检查@user和@some_text的值并尝试http://rubular.com想出一个匹配的正则表达式 关于ruby-on-ra

ruby - rails 3 : Do i need to give return true in a before_save callback for an object. 保存工作?

ClassUserbefore_save:set_searchabledefset_searchableself.searchable=trueifself.status==:activeendend>>u=User.last>>u.savefalseu.save总是返回false。如果我删除before_save它会起作用另外,如果我在before_save中返回true,它也有效所以我需要在before_save中给出return语句吗?如果before_save返回false,ActiveRecord会保存一个对象吗?我在哪里可以看到有关回调及其工作流程的完整文档。提前致谢

ruby - STDOUT.sync = true 是什么意思?

我正在阅读Ruby中的god进程监控框架的源代码,发现了这个STDOUT.sync=true。我以前从未见过这样的事情。请解释它的作用,这一行的意义何在?提前致谢。 最佳答案 通常puts不会立即写入STDOUT,而是在内部缓冲字符串并将输出写入更大的block。这样做是因为IO操作很慢,通常避免将每个字符立即写入控制台更有意义。这种行为在某些情况下会导致问题。假设您想构建一个进度条(运行一个循环,在大量计算之间输出单个点)。缓冲的结果可能是一段时间没有任何输出,然后突然一次打印多个点。要避免这种行为,而是立即写入STDOUT,您可

ruby - 为什么.all?在空数组上返回 true?

我想使用Ruby评估数组中的所有项,如果它们都通过条件测试则返回true。我可以使用例如array.all?{|值|值==2}所以:>array=[2,2]>array.all?{|value|value==2}=>true>array=[2,3]>array.all?{|value|value==2}=>false太棒了!但是,为什么一个空数组可以通过这个测试呢?>array=[]>array.all?{|value|value==2}=>true这不应该返回false吗?如果我需要它返回false,我应该如何修改方法? 最佳答案

ruby - 为什么在 Ruby 中将 0 视为 True?

我正在阅读优秀的RubyonRailsTutorial并且遇到了如下代码。if0trueelsefalseend上面的代码返回true并说明了与许多语言(C是一个明显的例子)不同的是,ruby将0视为true。我并没有将这种行为视为异类,而是认为这种明显偏离惯例的行为是有充分理由的。例如,Python将0视为False,正如人们所期望的那样。简而言之,将ruby​​设计为将0视为true的基本原理是什么? 最佳答案 我猜Matz想要“真实性”这样的概念简单性——唯一的“假”值是false和nil。期间。只使用false是最干净的,但