Куда я иду не так? «неопределенный метод« приложение »для Sinatra: Модуль« Sinatra / Passenger / Apache » - PullRequest
1 голос
/ 07 июня 2010

Я пытаюсь получить мое первое приложение Sinatra с нуля, но получаю страницу ошибки от Пассажира:

undefined method `application' for Sinatra:Module

Вот мой файл Rackup:

require 'rubygems'
require 'sinatra'
set :env,  :production
disable :run
require 'app'
run Sinatra.application

Исамо приложение:

#!/usr/bin/env ruby

require 'rubygems'
require 'sinatra'
require 'haml'

get '/' do
  haml :index
end

get '/hello/:name' do |name|
  @name = name
  haml :hello
end

get '/goodbye/:name' do |name|
  haml :goodbye, :locals => {:name => name}
end

__END__

@@layout
%html
  %head
    %title hello.dev
  %body
    =yield

@@index
#header
  %h1 hello.dev
#content
  %p
    This is a test...

@@hello
%h1= "Hello #{@name}!"

@@goodbye
%h1= "Goodbye #{name}!"

Куда я иду не так?

1 Ответ

5 голосов
/ 07 июня 2010

вот мой config.ru

require 'application'

set :run, false
set :environment, :production

FileUtils.mkdir_p 'log' unless File.exists?('log')
log = File.new("log/sinatra.log", "a")
$stdout.reopen(log)
$stderr.reopen(log)

run Sinatra::Application

также, мой код приложения находится в application.rb

...