草庐IT

check_raise

全部标签

ruby-on-rails - 如何将 collection_check_boxes 默认选中?

我试图默认选中这行在dbt.text"committed".我尝试了checked的变体&true,但也许我忽略了一些东西。这是Gist的。 最佳答案 这里是关于如何将选中作为默认值添加到collection_check_boxes表单助手的快速回答,因为我花了一些时间才弄明白。把它分成一个block,你可以设置检查和添加类。更多信息,请访问http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_

ruby-on-rails - Rails 4 : Check if today is sunday, 每月 15 日或最后一天

sidekiq工作人员在电子邮件中向客户发送PDF附件。工作人员每天检查是否是星期日然后发送周报,如果今天是每月的15日则发送双月报,如果是最后一天则发送月报。条件看起来像这样:ifsunday?#sendweeklyelsif15thofmonth#sendBi-monthlyelsiflast_day_of_month#sendMonthlyend如何判断是星期日、15日还是最后一天? 最佳答案 Rails有许多用于此类日期计算的有趣方法:today=Date.todayiftoday.sunday?#sendweeklyels

ruby-on-rails - rails : Check has_many in View

如果我有...classBunny...如果@bunny有胡萝卜,我如何检查View?我想做这样的事情:Yay!Carrots!Yougotacarrot!我知道@bunny.carrots?不起作用——什么会起作用? 最佳答案 Yay!Carrots!Yougotacarrot! 关于ruby-on-rails-rails:Checkhas_manyinView,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

ruby - 如何编写 expect {}.to raise_error when rspec's syntax is configured with only should

我在rspec上有这个配置:config.expect_with:rspecdo|c|c.syntax=:shouldend它使expect{}.toraise_error无效,我怎么能用should语法编写这个错误引发测试? 最佳答案 我建议仅在最新的RSpecexpect{code()}.toraise_error语法对您不可用时才使用它:lambda{foo(:bad_param)}.shouldraise_error或lambda{foo(:bad_param)}.shouldraise_error(ArgumentErro

ruby-on-rails - ruby rails : check the amount of products a shop owns

我正在搞一个测试/练习项目,只是为了更好地理解Rails。在我的例子中,我有三个模型:商店、用户和产品。商店可以分为三种类型:基本型、中型、大型。基本型最多可以有10个产品,中型50个,大型100个。我正在尝试验证此类数据、商店类型并在创建新产品时检查它拥有多少产品。到目前为止,我想出了这段代码(在shop.rb中)但它不起作用:deflolaccount=Shop.find_by_sql"SELECTaccountFROMshopsWHEREuser_id=4LIMIT1"products=Product.count_by_sql"SELECTCOUNT(*)FROMproducts

ruby-on-rails - Rails check_box_tag 如何在 ajaxily 检查时传递值

在我的任务模型的索引页面上,我想为与我的任务数据库表中的bool字段“完成”相对应的每一行显示一个复选框。目前我的代码进入“完成”方法,但它不包含用户刚刚选中的复选框的值(即,如果他们刚刚选中该框,它不会将true传递给我的“完成”方法).我如何传递用户刚刚执行的值-选中或未选中?/views/tasks/index.html.erb{:remote=>true,:url=>url_for(:action=>'complete',:id=>task.id,:complete=>task.complete),:method=>:put},:class=>'input-large'%>/c

ruby - 如何在没有 catch/try/raise 的情况下展开(多级返回)堆栈?

当catch/try不可用时,我想将堆栈展开到任意级别(即,我要展开的代码不在我的范围内)控制)。这可能吗?例如,在测试中,我想让我的测试调用一个方法来检查先决条件,如果不满足这些先决条件,则展开到测试的调用者(resumeatcaller[1])。由于测试工具不受我控制,我无法在适当的位置设置catchblock。 最佳答案 没有。多级返回的唯一其他机制是callcc,但这也需要在您无法控制的级别创建延续。也就是说,在Ruby中,没有什么是您无法控制的:您可以在测试框架中为该方法添加别名,并添加您想要的任何代码。

ruby 事件机器 + AMQP : Ensuring specific async calls happen before raising exceptions

我们正在用Ruby构建一个支持AMQP的消息传递系统。但是,我们在错误处理方面遇到了问题。我们维护一个异常白名单,这是安全的,并且RabbitMQ中的消息可以不被确认并由另一个工作人员重试。然而,对于未知或不可预见的错误,我们假设无论工作人员尝试消息多少次,同样的失败总是会发生。这意味着,当出现未知错误时,我们需要捕获它,将其记录在某个地方(目前是MySQL),然后向RabbitMQ发送一个ACK调用以从队列中删除消息。目前一切都是使用amqpgem构建的,它是用EventMachine触发的。这会导致问题,因为调用#ack方法,并不意味着ACK由于gem的异步行为已发送到Rabbit

ruby - Thread#raise 在 MRI Ruby 1.9/2.0 中安全吗?

所以有一篇关于Thread#raise、Thread#kill和扩展超时(http://headius.blogspot.com/2008/02/rubys-threadraise-threadkill-timeoutrb.html)的不安全性的旧博客文章。出于大致相同的原因(http://docs.oracle.com/javase/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html),Java很久以前就弃用了它的等效方法。博文很老了。Thread.raise的现代实现是否安全?如果是这样,是否有文件/promise来证明/证明

ruby - 如何使用 assert_raise 来测试 Ruby 中的错误?

我有程序factorial.rb和test_factorial.rb。前者看起来像这样:deffactorial(n)(1..n).inject(:*)||1endtest_factorial看起来像这样:deftest_numberassert_equal6,factorial(3),"3!shouldbe6"enddeftest_zeroassert_equal1,factorial(0),"0!shouldbe1"end我需要向测试文件添加另一种方法test_negative以确认当阶乘为负时引发错误。我查看了文档,但仍然不明白我应该做什么。我是否必须在assert_raise之