草庐IT

传递消息

全部标签

ruby-on-rails - Ruby on Rails - 将变量传递给部分中的部分

我正在通过:collection选项将集合(@feed_items)传递给_feed_item部分。在_feed_item部分中,我想呈现另一个部分_like_button。在_like_button部分,我希望能够访问集合中的特定成员。我应该将什么从_feed_item部分传递给_like_button部分?@feed_items=current_user.user_feed.order("idDESC").limit(5)_feed.html.erb_feed_item.html.erb_like_button.html.erb编辑按照以下答案传递局部变量有效:'likes/lik

ruby - 允许传递 [hash_key] 的 rspec stub

如何创建rspec方法stub以允许接收散列键的方法的响应返回其值?这是我要测试的线路sub_total=menu.menu_items[item]*quantity并且我在rspec中使用这一行作为我的double测试stub。allow(menu).toreceive(:menu_items[item]).and_return(2.0)我的环境是用ruby​​2.2.0和spec3.1.7设置的但是我不断得到一个NameError:undefinedlocalvariableormethod`item'ruby代码defplace_order(item,quantity,menu)

ruby-on-rails - 如何在 Rails 中更改 "3 errors prohibited this foobar from being saved"验证消息?

在我的Rails应用程序中,我在我的事件记录对象中使用了验证助手,它们非常棒。当出现问题时,我会在我的网页上看到标准的“3个错误禁止保存此foobar”以及个别问题。有什么方法可以用我自己的方式覆盖这个默认消息吗? 最佳答案 用于显示错误的error_messages_for助手接受一个:header_message选项,该选项允许您更改默认标题文本。如:error_messages_for'model',:header_message=>"Youhavesomeerrorsthatpreventedsavingthismodel"

ruby - 订阅一个队列,收到1条消息,然后取消订阅

我有一个场景,我需要极快地分发和处理作业。我将在队列中快速填充大约45个作业,我可以同时处理大约20个(5台机器,每台机器4个内核)。每项工作花费的时间长短不一,而且垃圾收集使事情变得复杂,因此我需要能够让消费者离线以进行垃圾收集。目前,我的一切都与pop一起工作(每个消费者每5毫秒弹出一次)。这似乎是不可取的,因为它转换为每秒600个pop请求到rabbitmq。如果有一个类似于订阅的pop命令,但只针对一条消息,我会很高兴。(进程会阻塞,等待来自rabbitMQ连接的输入,通过类似于Kernel.select的东西)我试图欺骗AMQPgem做这样的事情,但它不起作用:我似乎无法取消

ruby-on-rails - Rails - 设计登录/身份验证失败不会使用消息填充错误数组

使用Rails3.07和Devise1.1.5除了一个异常(exception),一切正常,符合预期。例如,当用户尝试使用伪造密码登录时,devise会拒绝登录尝试,这是正确的,但不会提供错误消息。我在app/helpers/devise_helper.rb中设置了几种错误显示方法,我正在使用一种名为devise_sign_in_error_messages的方法!对于登录View。因此,在这种情况下,我能够验证该函数的以下行是否为错误返回了一个空字符串:如果resource.errors.empty返回“”?如果我提供了正确的用户名和密码,系统会正常登录,所以所有的设计逻辑似乎都很好

ruby - 如何在命令行上将实例变量传递给 HAML 模板?

背景我正在尝试测试Rails之外的一些HAML模板的格式。这个想法是在命令行或通过包含的Ruby文件传递​​一些实例变量,将模板呈现为标准输出。我尝试了几种不同的方法但没有成功,如下所述。需要一个Ruby文件例如,给定以下两个文件:HAML模板:“test.haml”!!!%h1TestingHAMLCLI%p=@bar%p=@bazRuby文件:“test.rb”@foo='abc'@bar='123'我希望像haml-r./testtest.haml这样的调用在标准输出上返回一个内插的HTML文件,但它没有。相反,我只得到HTML:TestingHAMLCLI程序化尝试由于这不起作

ruby - 通过方法调用时如何将参数传递给proc?

proc=Proc.newdo|name|puts"Thankyou#{name}!"enddefthankyieldendproc.call#outputnothing,justfineproc.call('God')#=>ThankyouGod!thank&proc#outputnothing,too.Fine;thank&proc('God')#Error!thank&proc.call('God')#Error!thankproc.call('God')#Error!#So,whatshouldIdoifIhavetopassthe'God'totheprocandusethe

jquery - 自动隐藏 rails 中的 flash 消息

我需要在ruby​​onrails中自动淡化flash消息。我的消息代码是:我如何自动淡化这些消息? 最佳答案 这应该适合您。您可以在括号内指定时间跨度。将此添加到您的Javascript。这对所有人来说都很常见:$(".alert").fadeOut(3000);对于警报成功:$(".alert-success").fadeOut(3000);对于警报危险:$(".alert-danger").fadeOut(3000); 关于jquery-自动隐藏rails中的flash消息,我们在

ruby - 将局部变量从 Controller 传递给 View

由于某些原因,我无法将局部变量传递给显示View...在我的Controller中,我只是:defshowrendertemplate:"books/show",:resource=>"Sometext"end在我看来,我打印了以下内容:Mylocalvariabletext:我收到以下消息:undefinedlocalvariableormethod`resource'for#:0x00000118ec3498>我在Controller中尝试了以下语法:rendertemplate:"books/show",locals:{resource:"Sometext"}rendertemp

ruby-on-rails - 在 RoR 中将参数传递给 CanCan

我有一个带有类似方法的Controller;defshowifparams[:format].eql?("pdf")//dosomethingelsifparams[:format].eql?("csv")//dosomethingendend但是我有不同角色的用户。所以我使用CanCan来管理访问控制。现在我希望X角色可以在Controlleriffparams[:format].eql?("csv")中执行操作show我认为它可以像;can:show,resourceifparams[:format].eql?("csv")。那么如何将参数发送到ability.rb呢?有什么想法吗