草庐IT

编写者

全部标签

ruby-on-rails - 我可以在 Ruby on Rails 上编写 PostgreSQL 函数吗?

我们正在启动一个基于RubyonRails的项目。我们曾经使用Perl和PostgreSQL函数,使用Rails和ActiveRecord我还没有看到我们应该如何在PostgreSQL中创建函数并使用ActiveRecord和模型保存记录。我知道我们可以在PostgreSQL中手动创建它,但ActiveRecord的“魔力”在于可以使用所有模型重新创建数据库。有什么方法可以使用Rails创建PostgreSQL函数并将其保存在模型中吗? 最佳答案 这部分问题:IknowwecancreateitmanuallyinPostgreSQ

ruby - 如何用 Ruby 编写网络抓取工具?

我想抓取一个没有API的热门网站(例如Quora)并获取一些特定信息并将其转储到一个文件中-比如说csv、.txt或.html格式很好:)例如仅返回Quora用户的所有“简历”列表,这些用户在其公开信息中列出了职业“UX设计师”。我如何在Ruby中做到这一点?我对Ruby&Rails的工作原理有一定程度的了解。我刚刚完成了一个Rails应用程序——主要是我自己写的。但无论怎么想,我都不是大师。我了解正则表达式等 最佳答案 你最好的选择是使用Mechanize.它可以跟随链接、提交表格,以及您需要的任何东西,Web客户端。顺便说一句,

ruby - 为 Ruby 编写模块

如何为ruby​​编写模块。在python中你可以使用#module.pydefhelloworld(name):print"Hello,%s"%name#main.pyimportmodulemodule.helloworld("Jim")回到问题,你如何在ruby​​中/为ruby​​创建一个模块 最佳答案 Ruby中的模块与Python中的模块有不同的用途。通常,您使用模块来定义可以包含在其他类定义中的通用方法。但是Ruby中的模块也可以像在Python中一样以类似的方式使用,只是将某些命名空间中的方法分组。因此,您在Ruby

ruby - 如何在单独的类/模块/文件中编写 Thor 任务?

我在获取Thor时遇到了一些问题这样做,所以希望有人能指出我做错了什么。我有一个主类classMyApp我想为多个命名空间分成单独的文件,比如thorcreate:app_type和thorupdate:app_type.我找不到任何示例来说明应该如何将Thor应用程序分解成多个部分,而且我尝试过的方法似乎不起作用。举个例子,这个类我正试图从主Thor类中脱离出来:moduleThingsmoduleGroupingdesc"something","Dosomethingcoolinthisgroup"defsomething....endendend当我尝试在我的主类中包含或要求它时

ruby - 如何编写支持 Tab 补全的 Ruby 命令行应用程序?

我想用Ruby编写一个命令行应用程序,如果你愿意的话,也可以是一个shell。我希望用户能够在某些点按Tab键并提供值的完成。我该怎么做?我必须使用什么图书馆?你能指出一些代码示例吗? 最佳答案 啊,看来标准库毕竟是我的friend啊。我要找的是Readline库。此处的文档和示例:http://www.ruby-doc.org/stdlib-1.9.3/libdoc/readline/rdoc/Readline.html特别是,这是该页面中的一个很好的示例,用于展示补全的工作原理:require'readline'LIST=['s

ruby-on-rails - Cucumber 是否不需要编写单元测试?

我对可用于Ruby/ROR的测试框架的数量感到有点困惑。我最近看了CucumberRailscasts并发现它们非常有趣。所以我开始玩游戏,然后努力从概念上看我应该在哪里进行各种测试。似乎很有可能在Cucumber中完成所有可以在单元测试中完成的事情,所以我是否需要编写单元测试,或者我应该只编写我的功能定义并专注于提供尽可能好的覆盖范围开始使用它。我应该使用Rspec还是Test:Unit创建我的单元测试?当我测试Ajax功能时,我应该使用Selenium还是Watir?这里似乎有太多选择,我正在努力寻找使用哪些工具以及边界在哪里。其他人对Cucumber的体验是什么,以及在编写Cuc

ruby - 你如何在 ruby​​ 中编写二进制文字?

大多数语言(包括Ruby)允许以至少三种基数编写数字文字:十进制、八进制和十六进制。以十进制为基数的数字是很常见的,并且被写成(大多数)人们自然地写数字,96被写成96。以零为前缀的数字通常被解释为基于八进制的:96将写为0140。基于十六进制的数字通常以0x为前缀:96将写为0x60。问题是:我可以在Ruby中将数字写成二进制文字吗?怎么办? 最佳答案 使用0b前缀>>0b100=>4 关于ruby-你如何在ruby​​中编写二进制文字?,我们在StackOverflow上找到一个类似

ruby-on-rails - 使用 Ruby on Rails 和 RSpec 为 helper 编写规范

我一直在为Controller和模型编写规范,但我从未编写过辅助规范。我不知道从哪里开始。我在application_helper.rb中有以下片段deftitle(page_title)content_for(:title){page_title}end我应该如何编写代码的辅助规范?此外,如果有任何开源Rails应用程序可以显示良好的辅助测试/规范,请告诉我。 最佳答案 来自rspec-railsdocsonHelperSpecs:Helperspecsliveinspec/helpers,andmixinActionView::

Ruby - 如何使用脚本输出编写新文件

我有一个简单的脚本可以进行一些搜索和替换。基本上就是这样:File.open("us_cities.yml","r+")do|file|whileline=file.gets"dofindareplace"end"HereIwanttowritetoanewfile"end如您所见,我想用输出编写一个新文件。我该怎么做? 最佳答案 可以像这样输出到一个新文件(不要忘记第二个参数):output=File.open("outputfile.yml","w")output因此在您的示例中,您可以这样做:File.open("us_cit

ruby - 在 Ruby 中编写单例模式的正确方法是什么?

我正在尽我所能用Ruby编写最安全的单例。我是这门语言的新手,它的弹性如此之大,以至于我没有强烈的感觉我的单例类会成功地只创建一个实例。作为奖励,我希望该对象仅在真正使用时才实例化。 最佳答案 #requiresingletonlibrequire'singleton'classAppConfig#mixinthesingletonmoduleincludeSingleton#dotheactualappconfigurationdefload_config(file)#doyourworkhereputs"Applicationc