ruby-on-rails – 如何在Sinatra中运行自定义Rake任务?

栏目: Ruby · 发布时间: 7年前

内容简介:翻译自:https://stackoverflow.com/questions/20081457/how-do-i-get-a-custom-rake-task-to-run-in-sinatra

*我想在我的Sinatra应用程序中运行自定义Rake任务,但我一直在耙中止!

不知道如何构建任务’问候’.

这是用于测试目的的自定义Rake任务(greet.rake):

task :greet do
  puts "Hello!"
end

我把greet.rake放在./lib/tasks(Rails)中.我猜Rake无法找到该文件的正确目录.

如何在Sinatra中运行自定义Rake任务?

我正在使用 Ruby 2.0.0和Sinatra 1.4.4.

UPDATE

Rakefile现在看起来像这样:

require "./app"
require "sinatra/activerecord/rake"
require "./lib/tasks"

使用时:

rake greet

我明白了:

rake aborted!
cannot load such file -- ./lib/tasks
/Users/*/.rvm/gems/ruby-2.0.0-p247@global/gems/activesupport-        4.0.1/lib/active_support/dependencies.rb:229:in `block in require'
/Users/*/.rvm/gems/ruby-2.0.0-p247@global/gems/activesupport-    4.0.1/lib/active_support/dependencies.rb:214:in `load_dependency'
/Users/*/.rvm/gems/ruby-2.0.0-p247@global/gems/activesupport-4.0.1/lib/active_support/dependencies.rb:229:in `require'
/Users/*/Dropbox/Development/Sinatra/sinatra-mp-experiment/Rakefile:3:in `<top    (required)>'
(See full trace by running task with --trace)

在Sinatra应用程序的顶级目录中创建一个Rakefile,要求包含您要使用的任务的文件,你应该好好去.

编辑:

一个简单的解决方案是将您的Rakefile更改为:

require "./app"
require "sinatra/activerecord/rake"
Dir.glob('lib/tasks/*.rake').each { |r| load r}

现在将加载lib / tasks下的任何.rake文件.

翻译自:https://stackoverflow.com/questions/20081457/how-do-i-get-a-custom-rake-task-to-run-in-sinatra


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机程序设计艺术:第4卷 第4册(双语版)

计算机程序设计艺术:第4卷 第4册(双语版)

Donald E.Knuth / 苏运霖 / 机械工业出版社 / 2007-4 / 42.00元

关于算法分析的这多卷论著已经长期被公认为经典计算机科学的定义性描述。迄今已出版的完整的三卷组成了程序设计理论和实践的惟一的珍贵源泉,无数读者都赞扬Knuth的著作对个人的深远影响。科学家们为他的分析的美丽和优雅所惊叹,而从事实践的程序员们已经成功地应用他的“菜谱式”的解到日常问题上,所有人都由于Knuth在书中所表现出的博学、清晰、精确和高度幽默而对他无比敬仰。   为开始后续各卷的写作并更......一起来看看 《计算机程序设计艺术:第4卷 第4册(双语版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具