草庐IT

ruby-on-rails - 无法删除 rake 0.9

我在删除rakegem版本0.9时遇到了一些问题。我设法运行了gemuninstallrake,我相信这已经删除了它。但是,返回到gem列表,它仍然显示它仍然存在。运行gemenv:GEMPATHS:/home/sean/.rvm/gems/ruby-1.9.2-p180/home/sean/.rvm/gems/ruby-1.9.2-p180@global我进入了@global目录并在那里手动删除了它,但它仍然存在于某处。我可以在运行gemlist时看到它。0.9rakegem导致我的Rails3.0.7应用程序出现问题。我运行了gemlist-drake:rake(0.9.0,0.8

ruby - Ruby/Rake 中的递归模式文件删除

我正在尝试根据给定路径中包含的所有目录中的模式删除文件。我有以下但它就像一个无限循环。当我取消循环时,没有文件被删除。我哪里错了?defrecursive_delete(dirPath,pattern)if(defined?dirPathanddefined?pattern&&File.exists?(dirPath))stack=[dirPath]while!stack.empty?current=stack.delete_at(0)Dir.foreach(current)do|file|ifFile.directory?(file)stack 最佳答案

ruby-on-rails - 如何在不删除所有较新迁移的情况下再次运行迁移?

我刚刚安装了devise,所以除了一个用户(我)之外,该表上没有任何数据。我又重新做了一遍数据库,所以我放弃了它。我使用railsgscaffold生成6个新模型和Controller,并使用rakedb:migrate在我的/db/migrate目录中,我有一个文件名为20130603211907_devise_create_users.rb的设计文件这里是问题所在:如果我执行rakedb:migrate:downVERSION=20130603211907,它将删除所有新的迁移。如何在不删除所有较新的迁移的情况下再次运行迁移? 最佳答案

Ruby 1.9.3 打破了 rake 测试

我有一个现有的Rails3项目,它在ruby​​1.9.2-p290上工作得很好。然而,升级到ruby​​1.9.3-p0会导致raketest吐出以下错误:/Users/zmanji/.rbenv/versions/1.9.3-p0/lib/ruby/1.9.1/test/unit.rb:167:in`blockinnon_options':filenotfound:test/unit/**/*_test.rb(ArgumentError)from/Users/zmanji/.rbenv/versions/1.9.3-p0/lib/ruby/1.9.1/test/unit.rb:14

ruby-on-rails - 如何在 rails 中通过命令行运行 rake 任务

我在名为file_locker_task.rake的文件中定义了一个rake任务,如下所示namespace:myspacedotask:process=>:environmentdoFileLocker.lock_filesendend如何从命令行执行此rake任务?我试过:rakemyspace:process和rakeprocess但两者都抛出如下错误:rakeaborted!Don'tknowhowtobuildtask'process' 最佳答案 从您的Rails主目录运行rake-T-A以查看rake知道的所有任务。你的

ruby - 你如何在 Rake 任务之间进行通信?

假设我有一个需要编译一些文件的目标。该目标有另一个目标作为先决条件,即获取文件的目标。让我们这样说:task:obtaindo#obtainfilesfromsomewhereendtask:compile=>:obtaindo#docompilationend假设:obtain目标并不总是将文件放在同一个文件夹中。我如何将:compile传递给:obtain找到的路径?环境变量? 最佳答案 在我看来,使用ENV['something']更可取,因为如果你这样做(而不是$global或@instance变量),你可以将它们视为任务参

ruby-on-rails - 如何将环境变量传递给从另一个 Rake 任务调用的 Rake 任务?

我从另一个Rake任务调用了三个Rake任务。第一个Rake任务要求在执行前设置环境变量。以下工作正常,但这意味着我丢失了关键任务的所有输出:namespace:deploydotask:staging=>:environmentdo`EXAMPLE=somethingrakedb:rebuild`Rake::Task["rakeenvs:push:staging"].invokeRake::Task["rakeapp:push:staging"].invokeendend如何使用环境变量调用第一个任务并将其输出显示到终端? 最佳答案

ruby - 如何多次执行带参数的 Rake 任务?

不可能从循环内调用相同的rake任务morethanonce.但是,我希望能够调用rakefirst并循环遍历数组并在每次迭代时使用不同的参数调用second。由于invoke只在第一次执行,我尝试使用execute,但是Rake::Task#execute不使用splat(*)运算符,只接受一个参数。desc"firsttask"task:firstdoother_arg="bar"[1,2,3,4].each_with_indexdo|n,i|ifi==0Rake::Task["foo:second"].invoke(n,other_arg)else#thisdoesn'twork

ruby - 如何从其他 Ruby 脚本调用标准 Rakefile 中定义的 Rake 任务?

是否可以从其他Ruby脚本调用在Rakefile中定义的任务-而不是在somefile.rake中定义的任务?我希望创建一个新的Rake::Application会自动从同一目录加载Rakefile,但事实并非如此。这是我到目前为止的想法:$LOAD_PATH.unshiftFile.dirname(__FILE__)require'rake'require'pp'rake=Rake::Application.newrake[:hello].invoke执行此代码会产生以下结果:/opt/ruby/1.9.2-p180/lib/ruby/1.9.1/rake.rb:1720:in`[]

ruby - 如何在 Rails 之外的 Ruby 项目上加载 ActiveRecord 数据库任务?

事件记录3.2.14我想在非RailsRuby项目中使用ActiveRecord。我想让ActiveRecord定义的rake任务可用。我该怎么做?rakedb:create#CreatethedatabasefromDATABASE_URLorconfig/database.ymlforthecurrentRails.env(usedb:create:alltocreatealldbsintheconfig)rakedb:drop#DropsthedatabaseusingDATABASE_URLorthecurrentRails.env(usedb:drop:alltodropal