首页 文章

ruby sinatra网络应用程序中出现奇怪的“文件未找到”错误

提问于
浏览
0

我正在创建一个带有mongodb数据库的sinatra Web应用程序 . 我使用mongomapper来做映射 . Web服务器很薄,我使用slim作为模板语言 .

文件./config/config.ru:

$_DB_SERVER = "localhost"
$_APP_PATH = "~/Documents/Aptana_Workspace/Parameters_crud"

require 'bundler/setup'
Bundler.require(:default)

require "#{$_APP_PATH}/main.rb"
require "#{$_APP_PATH}/models/parameter.rb"

map '/' do
  run CORE::Main
end

文件main.rb:

module CORE

  class Main < Sinatra::Base
    use Rack::Flash

    configure :development do

      enable :sessions, :logging, :dump_errors, :inline_templates
      enable :methodoverride
      set :root, $_APP_PATH
      logger = Logger.new($stdout)

    end

    get '/' do
      slim :index
    end
  end
end

END

遇到错误:

Errno::ENOENT at /
No such file or directory - ~/Documents/Aptana_Workspace/Parameters_crud/views/index.slim

我100%确定这个文件确实存在 . 可能是导致此错误的原因是什么?如果您需要更多信息,请发表评论......

1 回答

  • 1

    尝试像这样使用 File.expand_path -

    $_APP_PATH = File.expand_path("~/Documents/Aptana_Workspace/Parameters_crud", __FILE__)
    

相关问题