ruby - 任务 rake 问题, ruby

标签 ruby rake sinatra

我在 rake 中有一个运行我的服务器 sinatra 的任务,它不起作用,而 ruby​​ 中的相同脚本可以工作。为什么 ??我可以在 rake 任务中运行服务器 sinatra 吗??

task :server do

begin
require 'rubygems' 
require 'sinatra' 
rescue LoadError
  p "first install sinatra using:"
  p "gem install sinatra"
  exit 1
end

get '/:file_name' do |file_name|
  File.read(File.join('public', file_name))
end

exit 0
end

最佳答案

创建一个从 Sinatra::Base 类继承的类

#app.rb
require 'sinatra'

class TestApp < Sinatra::Base
  get '/' do
    "Test"
  end
end

然后从 rake 运行您的应用程序:

#Rakefile
$:.unshift File.join(File.dirname(__FILE__), ".")

require 'rake'
require 'app' 

task :server do
  TestApp.run!
end

关于ruby - 任务 rake 问题, ruby ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5393002/

相关文章:

ruby - 壳外薄

ruby-on-rails - 我如何清理这个 FactoryGirl 构建策略?

ruby-on-rails - 用于登录的 Rails 小写字段输入

ruby - "Everything is an object",这个功能有什么名字吗?

ruby - 系统命令不断失败,退出代码为 127

ruby - HTML 电子邮件模板中的 Sinatra 变量

python 和 ruby​​ 相当于 perls Template::Declare?

ruby-on-rails - 在lib/tasks任务中调用任务时, cucumber 方案不运行

ruby - 指定一个任务具有多个依赖项

ruby - Middleman & Haml 与 Github 风格的围栏代码块