草庐IT

ruby - 从 Rakefile 执行 bash 命令

我想从Rakefile中执行一些bash命令。我在我的Rakefile中尝试了以下内容task:hellodo%{echo"World!"}end但是在执行rakehello时没有输出?如何从Rakefile执行bash命令?注意:这不是重复的,因为它专门询问如何从Rakefile执行bash命令。 最佳答案 我认为rake希望这种情况发生的方式是:http://rubydoc.info/gems/rake/FileUtils#sh-instance_method示例:task:testdosh"ls"end内置的rake函数sh负

ruby-on-rails - 我有一个 Rails 任务 : should I use script/runner or rake?

对于adhocRails任务,我们有一些实现方案,其中主要的似乎是:script/runnersome_useful_thing和:rakesome:other_useful_thing我应该选择哪个选项?如果有一个明确的最爱,那么什么时候,如果有的话,我应该考虑使用另一个?如果从来没有,那么您为什么认为它仍然存在于框架中而没有弃用警告? 最佳答案 它们之间的区别在于script/runner启动Rails,而Rake任务不会启动Rails,除非您通过使任务依赖于:environment来告诉它,例如这个:task:some_use

ruby-on-rails - 在 Controller 中运行 rake 任务

我想在我的Controller中运行一个rake任务。有什么办法吗? 最佳答案 我同意ddfreynee的观点,但如果您知道自己需要什么,代码可以如下所示:require'rake'Rake::Task.clear#necessarytoavoidtasksbeingloadedseveraltimesindevmodeSample::Application.load_tasks#providingyourapplicationnameis'sample'classRakeController您可以改为在初始化程序中要求'rake'

ruby-on-rails - 添加自定义种子文件

我想用虚拟数据填充新功能,但不想使用db/seeds.rb文件,因为它已经包含与此功能无关的其他数据。运行默认seeds.rb文件,你运行命令rakedb:seed.如果我在db中创建一个文件名为seeds_feature_x.rb的目录,rake命令运行(仅)那个文件会是什么样子? 最佳答案 首先创建一个单独的目录来保存您的自定义种子——此示例使用db/seeds。然后,通过将rakefile添加到您的lib/tasks目录来创建自定义任务:#lib/tasks/custom_seed.rakenamespace:dbdoname

ruby-on-rails - 如何在 rake 任务中使用 "gets"?

每当我尝试在rake任务中使用函数gets时,我都会收到错误消息。有没有办法让它发挥作用?错误说,“没有这样的文件或目录-(rake任务名称)” 最佳答案 问题是Kernel#gets(如果你只是单独使用gets,这就是你所调用的)假设你正在从一个由传递给Rake的参数命名的文件中提取。这意味着gets尝试返回名为[rake-task-here]的文件的内容,该文件几乎肯定不存在。尝试STDIN.gets. 关于ruby-on-rails-如何在rake任务中使用"gets"?,我们在S

ruby-on-rails - 为什么 rake db :migrate:reset not listed in rake -T?

为什么rake-T没有列出一些rake任务?像db:migrate:reset吗?我可以毫无问题地执行它,但为什么它没有列在那里?有没有办法获得真正完整的rake任务列表?%rake-T(in/home/zeus/projects/my_project)rakeabout#ListversionsofallRailsframeworksandtheenvironmentrakedb:create#Createthedatabasefromconfig/database.ymlforthecurrentRails.env(usedb:create:alltocreatealldbsint

ruby-on-rails - Rake到底是什么?

简单来说,Rake是做什么的?它有什么目的?我知道这是一个构建工具,但我正在寻找更多细节。 最佳答案 这些答案假设您知道DSL是什么,或者熟悉Make或Ant。如果不是这种情况,这里有一个(可能过于简单的答案):Rake是一个可以与Ruby一起使用的工具项目。它允许您使用ruby​​代码来定义可以在命令行中运行的“任务”。抽成可以是downloadedandincluded在ruby​​项目中作为ruby​​gem。安装后,您可以在添加到项目的名为“Rakefile”的文件中定义任务。我们称它为“构建工具”,因为Rake附带了一些库

ruby-on-rails - Rails 如何运行 rake 任务

如何在终端/控制台中运行这个rake文件?我在lib/tasks中的statistik.rakedesc"Importerstatistikker"namespace:reklamerdotask:iqmedier=>:environmentdo...endtask:euroads=>:environmentdo...endtask:mikkelsen=>:environmentdo...endtask:orville=>:environmentdo...endend 最佳答案 您可以通过运行从shell运行Rake任务:raket

ruby - Rake 命名空间的默认任务

给出类似的东西:namespace:my_tasksdotask:foododo_somethingendtask:bardodo_something_elseendtask:all=>[:foo,:bar]end如何使:all成为默认任务,以便运行rakemy_tasks时调用它(而不是必须调用rakemy_tasks:all)? 最佳答案 像这样把它放在命名空间之外:namespace:my_tasksdotask:foododo_somethingendtask:bardodo_something_elseendendtask

ruby - 我如何从 Capistrano 运行 rake 任务?

我已经有一个deploy.rb可以在我的生产服务器上部署我的应用程序。我的应用程序包含一个自定义rake任务(lib/tasks目录中的一个.rake文件)。我想创建一个cap任务来远程运行该rake任务。 最佳答案 更明确一点,在您的\config\deploy.rb中,在任何任务或命名空间之外添加:namespace:rakedodesc"Runataskonaremoteserver."#runlike:capstagingrake:invoketask=a_certain_tasktask:invokedorun("cd#{