草庐IT

返回主键id

全部标签

ruby-on-rails - counter_cache 列返回 0 的 Rspec 测试

几天来,我一直在努力弄清楚什么接缝是应该很容易做到的事情......然而,我对rails和ruby​​的世界还是很陌生,我就是无法解决这个问题一出...:p无论如何,我遇到的问题是我的模型中有许多:counter_cache列,在手动测试它们时它们都工作得很好。但是我想做TDD的事情,但由于某些未知原因我无法在rspec中测试它们?无论如何,这是我的模型(用户、评论和媒体)的示例:classUsertruebelongs_to:user,:counter_cache=>truevalidates:user_id,:presence=>truevalidates:content,:pre

ruby-on-rails - 动态 body ID

如何在Rails中为body标签设置ID? 最佳答案 我没有发现任何特别优雅或灵活的解决方案。将body_class方法添加到application_helper.rb:defbody_class[controller_name,action_name].join('-')end..在布局中:">#e.goutput:然后您可以改进上述帮助程序以动态注入(inject)其他标识符,例如模块。 关于ruby-on-rails-动态bodyID,我们在StackOverflow上找到一个类似

ruby-on-rails - 如何从正则表达式返回 bool 值

我不太明白我在这里做错了什么..if@calc.docket_num=~/DC-000044-10/||@calc.docket_num=~/DC-67-09/@calc.lda=trueelse@calc.lda=falseend但似乎@calc.docket_num可以是任何字符串,并且它总是返回true。我这样做不对吗? 最佳答案 这是一条单线:@calc.lda=!!(@calc.docket_num=~/DC-000044-10|DC-67-09/)!!强制响应为true/false,然后您可以直接分配bool变量。

ruby-on-rails - Ruby strftime '%Z' 方法返回 '0545' 而不是 'NPT'

将我的MacOS升级到最新版本后,Time#strftime方法出现了一些奇怪的问题。Time.now.in_time_zone("Kathmandu").strftime("%Z")#=>'+0545'Time.now.in_time_zone("Bangkok").strftime("%Z")#=>'+07'Time.now.in_time_zone("Nairobi").strftime("%Z")#=>'EAT'Time.now.in_time_zone("NewDelhi").strftime("%Z")#=>'IST'我当前的ruby​​版本是:ruby2.4.1p111(

ruby-on-rails - 将用户 ID 添加到 Rails 中的所有日志消息

为了帮助跟踪用户操作以进行调试,我们正在考虑将session的登录用户ID添加到每条日志消息之前(如果适用)。我们的堆栈由Rails和Authlogic组成。我尝试了几种不同的路线,但到目前为止还没有100%成功。由于Authlogic不会在session数据中以明文形式存储用户ID,所以我们必须等待它被初始化。只有在ApplicationController初始化并设置为事件的AuthlogicController之后才会发生这种情况。因此,我们不能依赖config/application.rb中的代码。在我看来,唯一的解决方案是稍后更换记录器。我尝试通过子类化Logger并覆盖ad

ruby-on-rails - routes.rb,如何为路径设置不同的主键?

给定像Thread(id,uuid)这样的模型,uuid是一个唯一生成的标识符。我想更改默认路由:edit_threadGET/threads/:id/edit(.:format){:action=>"edit",:controller=>"threads"}threadGET/threads/:id(.:format){:action=>"show",:controller=>"threads"}PUT/threads/:id(.:format){:action=>"update",:controller=>"threads"}不使用:id而是使用用户:uuid---这在Rails/

ruby - Ruby 1.8.7 中的求幂返回错误答案

我在irb中尝试计算3**557时遇到了这个问题。Ruby和MacRuby都安装在我的Mac(OSX10.8)中。而ruby的版本是1.8.7,MacRuby0.12(ruby1.9.2)。rib和macirb在计算3**557时给了我两个不同的答案。(macirb是对的。)$irb>>3**557=>547557021793427620635514407889455410079268087653269511938101071654296104237032917607402447243260999931319131042725875729185204428725368897246765

Ruby:仅当函数不返回 nil 时才分配函数的输出

在用Ruby编程时,我经常会遇到如下的作业test=some_functionifsome_function有了这个赋值,我想分配一个函数的输出,但如果它返回nil我想保留变量的内容。我知道有条件赋值,但是||=和&&=都不能在这里使用。我发现描述上述语句的最短方式是test=(some_functionortest)是否有更好/更短的方法来做到这一点? 最佳答案 我认为没有什么比您显示的最后一个片段更好的了,但请注意或用于流量控制,请改用||:test=some_function||test通常最好为新名称分配新值,生成的代码更易

ruby - 返回 Enumerable 的 Ruby Enumerable.collect 的等价物?

在这段代码中,我创建了一个字符串数组“1”到“10000”:array_of_strings=(1..10000).collect{|i|String(i)}RubyCoreAPI是否提供了一种获取可枚举对象的方法,让我可以枚举同一个列表,按需生成字符串值,而不是生成字符串数组?这是一个进一步的示例,希望能阐明我正在尝试做的事情:deffind_me_an_awesome_usernameawesome_names=(1..1000000).xform{|i|"hacker_"+String(i)}awesome_names.find{|n|notstackoverflow.usere

ruby - Ruby 方法返回 splat-list 的任何理由?

Ruby语言源代码,lib/fileutils.rb,方法mkdir_p简化后如下所示:defmkdir_p(list,options={})return*listifoptions[:noop]#...return*listend从我对Ruby的了解和测试来看,这里没有意义。是否有任何边缘情况会产生影响?相关地,如果不存在这会影响输出的边缘情况,splat是完全无害的还是会导致任何Ruby解释器执行额外(不必要的)工作? 最佳答案 returnl和return*l其实是有区别的;这有助于了解要查找的内容。一个重要的区别是它生成数组