Tag: ruby

“分配分支条件太大”以及如何解决这个问题是什么意思?

在我的Rails应用程序中,我使用Rubocop来检查问题。 今天它给了我这样一个错误: Assignment Branch Condition size for show is too high 。 这是我的代码: def show @category = Category.friendly.find(params[:id]) @categories = Category.all @search = @category.products.approved.order(updated_at: :desc).ransack(params[:q]) @products = @search.result.page(params[:page]).per(50) rate end 这是什么意思,我该如何解决?

LDAP通过Ruby或Rails

我一直在尝试将Rails应用程序挂接到ActiveDirectory。 我将同步AD和数据库之间的用户数据,目前MySQL(但可能会变成SQL Server或PostgreSQL)。 我已经检查了activedirectory-ruby,而且看起来真的很麻烦(对于1.0版本!)。 它包装了Net :: LDAP,所以我尝试使用它,但它确实接近LDAP的实际语法,我喜欢ActiveDirectory-Ruby的抽象,因为它的ActiveRecord类似的语法。 有没有一个优雅的ORMtypes的目录服务器的工具? 更好的是,如果有某种LDAP的脚手架工具(用户,组,单位等CRUD)。 然后,我可以通过Authlogic快速地将其与我现有的身份validation代码集成,并保持所有数据同步。

如何在Ruby的IRB中启用自动完成function

当我使用Merb的内置控制台时,我得到类似于标准bash提示符的选项卡自动完成。 我觉得这很有用,并希望在非merb IRB会话中启用它。 如何在IRB中自动完成?

RubyMine – closures在“空”行中间点击的能力

我最近开始学习Ruby,到现在我真的很享受。 我select使用的IDE是RubyMine(与PhpStorm类似)。 然而,有一个function让我非常恼火,我找不到configuration。 我想摆脱的是:编码时,我可以点击一行中(我没有放置空格),光标会跳到那里,让我在那里键入(就像我已经放置在开始写入之前缩短代码长度)。 The result might look something like this. 如果我点击中间的行,并开始打字。 有谁知道如何closures此function? 如果我的描述太模糊,请告诉我。 提前致谢!

在rails中渲染json的最快方法是什么?

我正在优化我们的Rails应用程序中的一些慢事务,并且我看到了显着的JSON视图渲染时间: Rendered welcome/index.json.rabl (490.5ms) Completed 200 OK in 1174ms (Views: 479.6ms | ActiveRecord: 27.8ms) 假设API调用正在返回它需要返回的数据, 在轨中呈现JSON的最快方法是什么? 我们正在使用Rabl,因为它能够轻松地共享代码,但是我们并没有把它绑在上面。

什么时候在Ruby on Rails中使用lambda?

什么时候应该使用lambda或proc? 我曾经把他们描述为匿名function,但我很难理解这个概念。 我将不胜感激任何的链接或什么时候你可以使用Ruby的例子,但尤其是在Ruby on Rails的。

用Ruby读取,编辑和写入文本文件

在Ruby中有没有一种好的方法来读取,编辑和写入文件? 在我的在线search中,我发现了一些东西,build议将它们全部读入数组,然后修改数组,然后写出所有内容。 我觉得应该有一个更好的解决scheme,特别是如果我正在处理一个非常大的文件。 就像是: myfile = File.open("path/to/file.txt", "r+") myfile.each do |line| myfile.replace_puts('blah') if line =~ /myregex/ end myfile.close 其中, replace_puts将写入当前行,而不是像当前那样写(写)下一行,因为指针位于行末(分隔符之后)。 那么每行匹配/myregex/将被replace为'blah'。 显然我脑海中所涉及到的比这个要多一些,就处理而言,可以在一行中完成,但是想法是一样的 – 我想逐行阅读一个文件,然后编辑一些特定的行,当我完成时写出来。 也许有一种方法只是说“倒回到最后一个分隔符后”? 或者使用each_with_index并通过行索引号写入某种方式? 尽pipe如此,我找不到任何这样的东西。 到目前为止,最好的解决scheme是逐行读取事务,将其写入新的(临时)文件行(可能已编辑),然后用新的临时文件覆盖旧文件并删除。 再次,我觉得应该有一个更好的方法 – 我不认为我应该创build一个新的1gig文件只是为了编辑现有的1GB文件中的一些行。

“if”语句与“then”最后的区别是什么?

这两个Ruby if语句之间的区别是什么? if(val == "hi") then something.meth("hello") else something.meth("right") end 和 if(val == "hi") something.meth("hello") else something.meth("right") end

常量或类variables在ruby?

我已经使用Ruby进行了几个月的编程,而且我想知道何时使用常量来超越类variables,反之亦然。 (我在Rails中工作,思考模型中的常量)。 class Category TYPES = %w(listing event business).freeze end 要么 class Category @@types = %w(listing event business).freeze cattr_reader :types end 有一种情况比另一种更可取? 还是仅仅是品味/风格的问题?

获取当前ruby进程的内存使用情况

我想格式化我的Logger输出,以包括当前的内存使用情况,作为一个长期运行的过程的一部分。 有没有什么内置的Ruby为此,有点像PHP的memory_get_usage() ? 或者我必须执行一些shell命令从ps ?