Tag: ruby

耙与自动化脚本托尔?

我想自动化的东西,如: 使用预先选定的数据库创build一个新的Ruby on Rails应用程序,Git初始化它,创build一个Heroku项目,提交所有文件等。 通过SSH上传文件夹中的所有文件到另一台计算机,但不要覆盖文件。 升级Ubuntu,通过apt-get安装所有的基本软件包。 据我所知,这个工具是Rake和Thor,但是,我应该使用哪一个呢? 耙子在我看来更像事实上和stream行。 我听到有人推荐雷神。 这些如何在一个破败的对方站在一起?

我如何获得符号链接的目标?

我有一个string包含文件系统path到现有的符号链接。 我想获得这个链接指向的path。 基本上我想要的是我可以通过这个黑客来得到的: s = "path/to/existing/symlink" `ls -ld #{s}`.scan(/-> (.+)/).flatten.last 但是我希望没有炮轰。

我怎样才能看到在失败的黄瓜步骤发现什么水豚?

我开始从黄瓜+ webrat迁移到黄瓜+水豚。 现在“我应该看到”的行为似乎有些不同。 现在大部分失败了,虽然我没有改变页面上的任何东西。 我用一些在每个页面上的内容replace了应该find的代码片段,并且replace了其中一些文本和其他文本。 我无法find页面内容中find什么模式,什么不是。 Webrat用于打印它find的页面内容,以防它包含所需的短语。 有反正有水豚显示它从哪里试图find文本的页面得到的文本?

如何在Ruby中重命名文件?

这是我的.rb文件: puts "Renaming files…" folder_path = "/home/papuccino1/Desktop/Test" Dir.glob(folder_path + "/*").sort.each do |f| filename = File.basename(f, File.extname(f)) File.rename(f, filename.capitalize + File.extname(f)) end puts "Renaming complete." 这些文件从其初始目录移到.rb文件所在的位置。 我想现场重命名文件,而不移动它们。 有什么build议做什么?

如何在Ruby中创build可重用的块/ proc / lambda?

我想创build一个filter,并能够将其应用于数组或散列。 例如: def isodd(i) i % 2 == 1 end 我想能够像这样使用它: x = [1,2,3,4] puts x.select(isodd) x.delete_if(isodd) puts x 这似乎应该是直截了当的,但我无法弄清楚我需要做什么使它工作。

如何find安装Ruby Gem的path(即Gem.lib_path cf Gem.bin_path)

Gem.bin_path('cucumber', 'cucumber') 将返回二进制/可执行文件的path。 似乎没有这样的函数来返回库path。 在这种情况下,理想情况下,返回: /home/hedge/.rvm/gems/ruby-1.9.2-p136@bbb-bdd-meta-bdd/gems/cucumber-0.10.0/lib 我错过了什么或有一个简单/一种方法来获取这些信息? 更新:请不要使用CLI或非stdlibbuild议。

我们如何看Rails开发日志?

我的团队成员正在Windows XP上开发Rails应用程序。 我们发现,当我们运行应用程序时,无论是在NetBeans中启动应用程序,还是通过打开控制台并调用script/server ,Rails开发日志都不会滚动。 只有Webrick启动信息。 该应用程序肯定正在运行,但是当我们在浏览器中点击各种页面时,我们没有看到任何日志输出。 当我查看OS X系统上的相同应用程序时,日志输出按预期工作。 我确定它在Rails“开发”环境中运行。 任何想法为什么伐木将被压制? 有没有configuration参数的environment.rb文件,会影响到它?

如何为f.select表单字段设置空白值

我正在使用以下来允许我的用户在他们的个人资料中select他们的性别。 <%= f.select (:sex, %w{ Male Female }) %> 如何创build一个空白值,如果没有任何内容传递给user.sex列,列表将默认为空值? 我简单地把男或女作为一个string。 目的是我想要一个空值,所以validation可以确保他们知道他们必须select它。

如何在redirect时显示Rails Flash通知?

我在Rails控制器中有以下代码: flash.now[:notice] = 'Successfully checked in' redirect_to check_in_path 然后在/ check_in视图中: <p id="notice"><%= notice %></p> 但是,通知不显示。 如果我不在控制器中redirect,则工作完美: flash.now[:notice] = 'Successfully checked in' render action: 'check_in' 我需要一个redirect,虽然…不只是一个渲染的行动。 redirect后可以收到Flash通知吗?

Ruby NOT Rails中是否有复数forms的函数?

我写了一些Ruby代码,而不是Rails,我需要处理这样的事情: found 1 match found 2 matches 我已经安装了Rails,所以也许我可以在脚本的顶部添加一个require子句,但是有谁知道一个将string复数化的RUBY方法? 有没有一个类,我可以要求,可以处理这个如果脚本不是Rails,但我已经安装了Rails? 编辑:所有这些答案都很接近,但我检查了它为我工作的一个。 在编写Ruby而不是Rails代码时,请尝试以下方法作为帮助程序: def pluralize(number, text) return text.pluralize if number != 1 text end